diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -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) { |