- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / re2 / util / test.cc
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
11 DEFINE_string(test_tmpdir, "/var/tmp", "temp directory");
12
13 struct Test {
14   void (*fn)(void);
15   const char *name;
16 };
17
18 static Test tests[10000];
19 static int ntests;
20
21 void RegisterTest(void (*fn)(void), const char *name) {
22   tests[ntests].fn = fn;
23   tests[ntests++].name = name;
24 }
25
26 namespace re2 {
27 int64 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
38 int 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 }