xref: /aosp_15_r20/external/regex-re2/util/test.cc (revision ccdc9c3e24c519bfa4832a66aa2e83a52c19f295)
1*ccdc9c3eSSadaf Ebrahimi // Copyright 2009 The RE2 Authors.  All Rights Reserved.
2*ccdc9c3eSSadaf Ebrahimi // Use of this source code is governed by a BSD-style
3*ccdc9c3eSSadaf Ebrahimi // license that can be found in the LICENSE file.
4*ccdc9c3eSSadaf Ebrahimi 
5*ccdc9c3eSSadaf Ebrahimi #include <stdio.h>
6*ccdc9c3eSSadaf Ebrahimi 
7*ccdc9c3eSSadaf Ebrahimi #include "util/test.h"
8*ccdc9c3eSSadaf Ebrahimi 
9*ccdc9c3eSSadaf Ebrahimi DEFINE_string(test_tmpdir, "/var/tmp", "temp directory");
10*ccdc9c3eSSadaf Ebrahimi 
11*ccdc9c3eSSadaf Ebrahimi struct Test {
12*ccdc9c3eSSadaf Ebrahimi   void (*fn)(void);
13*ccdc9c3eSSadaf Ebrahimi   const char *name;
14*ccdc9c3eSSadaf Ebrahimi };
15*ccdc9c3eSSadaf Ebrahimi 
16*ccdc9c3eSSadaf Ebrahimi static Test tests[10000];
17*ccdc9c3eSSadaf Ebrahimi static int ntests;
18*ccdc9c3eSSadaf Ebrahimi 
RegisterTest(void (* fn)(void),const char * name)19*ccdc9c3eSSadaf Ebrahimi void RegisterTest(void (*fn)(void), const char *name) {
20*ccdc9c3eSSadaf Ebrahimi   tests[ntests].fn = fn;
21*ccdc9c3eSSadaf Ebrahimi   tests[ntests++].name = name;
22*ccdc9c3eSSadaf Ebrahimi }
23*ccdc9c3eSSadaf Ebrahimi 
main(int argc,char ** argv)24*ccdc9c3eSSadaf Ebrahimi int main(int argc, char** argv) {
25*ccdc9c3eSSadaf Ebrahimi   for (int i = 0; i < ntests; i++) {
26*ccdc9c3eSSadaf Ebrahimi     printf("%s\n", tests[i].name);
27*ccdc9c3eSSadaf Ebrahimi     tests[i].fn();
28*ccdc9c3eSSadaf Ebrahimi   }
29*ccdc9c3eSSadaf Ebrahimi   printf("PASS\n");
30*ccdc9c3eSSadaf Ebrahimi   return 0;
31*ccdc9c3eSSadaf Ebrahimi }
32