From 17b4c12a95d762fc786754be9d663135e5d582d7 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 24 Dec 2008 22:46:06 +0000 Subject: test/regex: make it faster to rebuild and run regex testcase --- test/regex/testregex.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'test/regex/testregex.c') diff --git a/test/regex/testregex.c b/test/regex/testregex.c index 3992c2647..993ac2687 100644 --- a/test/regex/testregex.c +++ b/test/regex/testregex.c @@ -298,7 +298,7 @@ H("\n"); #define streq(a,b) (*(a)==*(b)&&!strcmp(a,b)) #endif -#define HUNG 2 +#define HUNG 5 #define NOTEST (~0) #ifndef REG_TEST_DEFAULT @@ -1111,7 +1111,7 @@ catchfree(regex_t* preg, int flags, int* tabs, char* spec, char* re, char* s, ch } int -main(int argc, char** argv) +old_main(int unused_param_argc, char** argv) { int flags; int cflags; @@ -2103,7 +2103,7 @@ main(int argc, char** argv) printf(" %-.*s", subunitlen, subunit); printf(", %d test%s", testno, testno == 1 ? "" : "s"); if (state.ignored) - printf(", %d ignored mismatche%s", state.ignored, state.ignored == 1 ? "" : "s"); + printf(", %d ignored mismatch%s", state.ignored, state.ignored == 1 ? "" : "es"); if (state.warnings) printf(", %d warning%s", state.warnings, state.warnings == 1 ? "" : "s"); if (state.unspecified) @@ -2117,3 +2117,29 @@ main(int argc, char** argv) } return 0; } + +int main(int argc, char **argv) +{ + static char *param[][4] = { + { NULL, "basic.dat" , NULL }, + { NULL, "categorize.dat" , NULL }, + { NULL, "forcedassoc.dat" , NULL }, + { NULL, "-c", "interpretation.dat", NULL }, + { NULL, "leftassoc.dat" , NULL }, + { NULL, "-c", "nullsubexpr.dat" , NULL }, + { NULL, "repetition.dat" , NULL }, + { NULL, "rightassoc.dat" , NULL }, + }; + int r, i; + + if (argv[1]) + return old_main(argc, argv); + + r = 0; + for (i = 0; i < sizeof(param) / sizeof(param[0]); i++) { + param[i][0] = argv[0]; + printf("Testing %s\n", param[i][1][0] != '-' ? param[i][1] : param[i][2]); + r |= old_main(3 /* not used */, param[i]); + } + return r; +} -- cgit v1.2.3