summaryrefslogtreecommitdiff
path: root/test/regex/testregex.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/regex/testregex.c')
-rw-r--r--test/regex/testregex.c32
1 files changed, 29 insertions, 3 deletions
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("</HTML>\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;
+}