summaryrefslogtreecommitdiff
path: root/tests/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/main.c')
-rw-r--r--tests/main.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/main.c b/tests/main.c
index 7b791cd..ff68df3 100644
--- a/tests/main.c
+++ b/tests/main.c
@@ -2,6 +2,8 @@
#include <stdarg.h>
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
static bool any_failure = false;
@@ -15,12 +17,19 @@ void test_fail(const char *fmt, ...) {
fprintf(stderr, "\n");
}
-int main(void) {
- const char *test_dir = "../tests";
+int main(int argc, char **argv) {
+ if (argc > 2 || (argc == 2 && strcmp(argv[1], "--help") == 0)) {
+ printf("usage: tests [TEST DIRECTORY]\n");
+ return EXIT_FAILURE;
+ }
+ const char *test_dir = argc == 2 ? argv[1] : "../tests";
test_parsing(test_dir);
+ test_errors(test_dir);
if (any_failure) {
fprintf(stderr, "\x1b[1m\x1b[91mSome tests failed.\x1b[0m\n");
+ return EXIT_FAILURE;
} else {
printf("\x1b[1m\x1b[92mAll tests OK\x1b[0m\n");
+ return 0;
}
}