1b00fb464SGeorge Burgess IV //===- llvm/unittest/Support/DebugCounterTest.cpp -------------------------===// 2b00fb464SGeorge Burgess IV // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6b00fb464SGeorge Burgess IV // 7b00fb464SGeorge Burgess IV //===----------------------------------------------------------------------===// 8b00fb464SGeorge Burgess IV 9b00fb464SGeorge Burgess IV #include "llvm/Support/DebugCounter.h" 10b00fb464SGeorge Burgess IV #include "gtest/gtest.h" 11b00fb464SGeorge Burgess IV 12b00fb464SGeorge Burgess IV #include <string> 13b00fb464SGeorge Burgess IV using namespace llvm; 14b00fb464SGeorge Burgess IV 15b00fb464SGeorge Burgess IV #ifndef NDEBUG TEST(DebugCounterTest,CounterCheck)16b00fb464SGeorge Burgess IVTEST(DebugCounterTest, CounterCheck) { 17bc2f06c9SAlexandre Ganea DEBUG_COUNTER(TestCounter, "test-counter", "Counter used for unit test"); 18bc2f06c9SAlexandre Ganea 19b00fb464SGeorge Burgess IV EXPECT_FALSE(DebugCounter::isCounterSet(TestCounter)); 20b00fb464SGeorge Burgess IV 21b00fb464SGeorge Burgess IV auto DC = &DebugCounter::instance(); 22b00fb464SGeorge Burgess IV DC->push_back("test-counter-skip=1"); 23b00fb464SGeorge Burgess IV DC->push_back("test-counter-count=3"); 24b00fb464SGeorge Burgess IV 25b00fb464SGeorge Burgess IV EXPECT_TRUE(DebugCounter::isCounterSet(TestCounter)); 26b00fb464SGeorge Burgess IV 27b00fb464SGeorge Burgess IV EXPECT_EQ(0, DebugCounter::getCounterValue(TestCounter)); 28b00fb464SGeorge Burgess IV EXPECT_FALSE(DebugCounter::shouldExecute(TestCounter)); 29b00fb464SGeorge Burgess IV 30b00fb464SGeorge Burgess IV EXPECT_EQ(1, DebugCounter::getCounterValue(TestCounter)); 31b00fb464SGeorge Burgess IV EXPECT_TRUE(DebugCounter::shouldExecute(TestCounter)); 32b00fb464SGeorge Burgess IV 33b00fb464SGeorge Burgess IV DebugCounter::setCounterValue(TestCounter, 3); 34b00fb464SGeorge Burgess IV EXPECT_TRUE(DebugCounter::shouldExecute(TestCounter)); 35b00fb464SGeorge Burgess IV EXPECT_FALSE(DebugCounter::shouldExecute(TestCounter)); 36b00fb464SGeorge Burgess IV 37b00fb464SGeorge Burgess IV DebugCounter::setCounterValue(TestCounter, 100); 38b00fb464SGeorge Burgess IV EXPECT_FALSE(DebugCounter::shouldExecute(TestCounter)); 39b00fb464SGeorge Burgess IV } 40b00fb464SGeorge Burgess IV #endif 41