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#include <stdio.h> 6#ifndef WIN32 7#include <sys/resource.h> 8#endif 9#include "util/test.h" 10 11DEFINE_string(test_tmpdir, "/var/tmp", "temp directory"); 12 13struct Test { 14 void (*fn)(void); 15 const char *name; 16}; 17 18static Test tests[10000]; 19static int ntests; 20 21void RegisterTest(void (*fn)(void), const char *name) { 22 tests[ntests].fn = fn; 23 tests[ntests++].name = name; 24} 25 26namespace re2 { 27int64 VirtualProcessSize() { 28#ifndef WIN32 29 struct rusage ru; 30 getrusage(RUSAGE_SELF, &ru); 31 return (int64)ru.ru_maxrss*1024; 32#else 33 return 0; 34#endif 35} 36} // namespace re2 37 38int main(int argc, char **argv) { 39 for (int i = 0; i < ntests; i++) { 40 printf("%s\n", tests[i].name); 41 tests[i].fn(); 42 } 43 printf("PASS\n"); 44 return 0; 45} 46