summaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/main.c b/main.c
index 65c4ced4..8a974b5a 100644
--- a/main.c
+++ b/main.c
@@ -13,7 +13,7 @@
#include "util.h"
#include "version.h"
-int jq_testsuite(int argc, char* argv[]);
+int jq_testsuite(jv lib_dirs, int argc, char* argv[]);
static const char* progname;
@@ -93,8 +93,9 @@ enum {
EXIT_STATUS = 4096,
IN_PLACE = 8192,
SEQ = 16384,
+ RUN_TESTS = 32768,
/* debugging only */
- DUMP_DISASM = 32768,
+ DUMP_DISASM = 65536,
};
static int options = 0;
@@ -236,10 +237,6 @@ int main(int argc, char* argv[]) {
if (argc) progname = argv[0];
- if (argc > 1 && !strcmp(argv[1], "--run-tests")) {
- return jq_testsuite(argc, argv);
- }
-
jq = jq_init();
if (jq == NULL) {
perror("malloc");
@@ -421,6 +418,10 @@ int main(int argc, char* argv[]) {
ret = 0;
goto out;
}
+ if (isoption(argv[i], 0, "run-tests", &short_opts)) {
+ ret = jq_testsuite(lib_search_paths, argc - i, argv + i + 1);
+ goto out;
+ }
// check for unknown options... if this argument was a short option
if (strlen(argv[i]) != short_opts + 1) {