1 // Copyright 2009 The RE2 Authors. All Rights Reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 #ifndef RE2_UTIL_TEST_H__ 6 #define RE2_UTIL_TEST_H__ 7 8 #include "util/util.h" 9 #include "util/flags.h" 10 11 #define TEST(x, y) \ 12 void x##y(void); \ 13 TestRegisterer r##x##y(x##y, # x "." # y); \ 14 void x##y(void) 15 16 void RegisterTest(void (*)(void), const char*); 17 18 class TestRegisterer { 19 public: 20 TestRegisterer(void (*fn)(void), const char *s) { 21 RegisterTest(fn, s); 22 } 23 }; 24 25 // TODO(rsc): Do a better job. 26 #define EXPECT_EQ CHECK_EQ 27 #define EXPECT_TRUE CHECK 28 #define EXPECT_LT CHECK_LT 29 #define EXPECT_GT CHECK_GT 30 #define EXPECT_LE CHECK_LE 31 #define EXPECT_GE CHECK_GE 32 #define EXPECT_FALSE(x) CHECK(!(x)) 33 34 #define ARRAYSIZE arraysize 35 36 #define EXPECT_TRUE_M(x, y) CHECK(x) << (y) 37 #define EXPECT_FALSE_M(x, y) CHECK(!(x)) << (y) 38 #define ASSERT_TRUE_M(x, y) CHECK(x) << (y) 39 #define ASSERT_EQUALS(x, y) CHECK_EQ(x, y) 40 41 const bool UsingMallocCounter = false; 42 namespace testing { 43 class MallocCounter { 44 public: 45 MallocCounter(int x) { } 46 static const int THIS_THREAD_ONLY = 0; 47 long long HeapGrowth() { return 0; } 48 long long PeakHeapGrowth() { return 0; } 49 void Reset() { } 50 }; 51 } // namespace testing 52 53 namespace re2 { 54 int64 VirtualProcessSize(); 55 } // namespace re2 56 57 #endif // RE2_UTIL_TEST_H__ 58