Index: third_party/re2/util/test.cc |
diff --git a/third_party/re2/util/test.cc b/third_party/re2/util/test.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2fe1bfa8c7900c8dfa5091ddfe4712288ee1bb12 |
--- /dev/null |
+++ b/third_party/re2/util/test.cc |
@@ -0,0 +1,45 @@ |
+// Copyright 2009 The RE2 Authors. All Rights Reserved. |
+// Use of this source code is governed by a BSD-style |
+// license that can be found in the LICENSE file. |
+ |
+#include <stdio.h> |
+#ifndef WIN32 |
+#include <sys/resource.h> |
+#endif |
+#include "util/test.h" |
+ |
+DEFINE_string(test_tmpdir, "/var/tmp", "temp directory"); |
+ |
+struct Test { |
+ void (*fn)(void); |
+ const char *name; |
+}; |
+ |
+static Test tests[10000]; |
+static int ntests; |
+ |
+void RegisterTest(void (*fn)(void), const char *name) { |
+ tests[ntests].fn = fn; |
+ tests[ntests++].name = name; |
+} |
+ |
+namespace re2 { |
+int64 VirtualProcessSize() { |
+#ifndef WIN32 |
+ struct rusage ru; |
+ getrusage(RUSAGE_SELF, &ru); |
+ return (int64)ru.ru_maxrss*1024; |
+#else |
+ return 0; |
+#endif |
+} |
+} // namespace re2 |
+ |
+int main(int argc, char **argv) { |
+ for (int i = 0; i < ntests; i++) { |
+ printf("%s\n", tests[i].name); |
+ tests[i].fn(); |
+ } |
+ printf("PASS\n"); |
+ return 0; |
+} |