summaryrefslogtreecommitdiff
path: root/tests/clar.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/clar.c')
-rw-r--r--tests/clar.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/tests/clar.c b/tests/clar.c
index 2caa871d2..d8cd8c322 100644
--- a/tests/clar.c
+++ b/tests/clar.c
@@ -308,7 +308,7 @@ clar_usage(const char *arg)
exit(-1);
}
-static void
+static int
clar_parse_args(int argc, char **argv)
{
int i;
@@ -377,7 +377,7 @@ clar_parse_args(int argc, char **argv)
for (j = 0; j < _clar_suite_count; ++j)
printf(" %3d: %s\n", (int)j, _clar_suites[j].name);
- exit(0);
+ return 1;
}
case 'v':
@@ -388,6 +388,8 @@ clar_parse_args(int argc, char **argv)
clar_usage(argv[0]);
}
}
+
+ return 0;
}
void
@@ -411,8 +413,13 @@ clar_test_init(int argc, char **argv)
int
clar_test_run()
{
+ int should_exit;
+
if (_clar.argc > 1)
- clar_parse_args(_clar.argc, _clar.argv);
+ should_exit = clar_parse_args(_clar.argc, _clar.argv);
+
+ if (should_exit)
+ return 0;
if (!_clar.suites_ran) {
size_t i;