return n == 1 ? "" : "s";
}
+static void
+verify_test_suite_name(const char *name)
+{
+ const char *p = name;
+ while (*p) {
+ if ((*p < '0' || *p > '9')
+ && (*p < 'A' || *p > 'Z')
+ && *p != '_'
+ && (*p < 'a' || *p > 'z')) {
+ fprintf(stderr, "Bad character ('%c') in suite/test name: %s\n", *p, name);
+ exit(1);
+ }
+ ++p;
+ }
+}
+
int
cct_run(suite_fn *suites, int verbose_output)
{
void cct_suite_begin(const char *name)
{
+ verify_test_suite_name(name);
if (verbose) {
printf("=== SUITE: %s ===\n", name);
}
void cct_test_begin(const char *name)
{
+ verify_test_suite_name(name);
if (verbose) {
printf("--- TEST: %s ---\n", name);
}