]> granicus.if.org Git - jq/commitdiff
Fix --run-tests arg handling
authorNicolas Williams <nico@cryptonector.com>
Mon, 12 Jan 2015 16:43:06 +0000 (10:43 -0600)
committerNicolas Williams <nico@cryptonector.com>
Mon, 12 Jan 2015 16:43:06 +0000 (10:43 -0600)
jq_test.c
main.c

index 8b9588afd4ead29b37d0ded5dcc0a2ee3a54a682..6a00cab102f078f7363141a65e45b5de8b367c4b 100644 (file)
--- a/jq_test.c
+++ b/jq_test.c
@@ -12,8 +12,8 @@ static void run_jq_tests();
 int jq_testsuite(jv libdirs, int argc, char* argv[]) {
   FILE *testdata = stdin;
   jv_test();
-  if (argc > 2) {
-    testdata = fopen(argv[2], "r");
+  if (argc > 0) {
+    testdata = fopen(argv[0], "r");
     if (!testdata) {
       perror("fopen");
       exit(1);
diff --git a/main.c b/main.c
index 4c6af61d412cabbb2025e070652ca00556011019..0935f53305e434623650dce73561af77ff291b11 100644 (file)
--- a/main.c
+++ b/main.c
@@ -419,8 +419,11 @@ int main(int argc, char* argv[]) {
         goto out;
       }
       if (isoption(argv[i], 0, "run-tests", &short_opts)) {
+        i++;
+        // XXX Pass program_arguments, even a whole jq_state *, through;
+        // could be useful for testing
         jv_free(program_arguments);
-        ret = jq_testsuite(lib_search_paths, argc - i, argv + i + 1);
+        ret = jq_testsuite(lib_search_paths, argc - i, argv + i);
         goto out;
       }