Home | History | Annotate | Download | only in util
      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