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 16void RegisterTest(void (*)(void), const char*); 17 18class 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 41const bool UsingMallocCounter = false; 42namespace testing { 43class 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 53namespace re2 { 54int64 VirtualProcessSize(); 55} // namespace re2 56 57#endif // RE2_UTIL_TEST_H__ 58