From: Lee Thompson Date: Sun, 3 Feb 2013 05:05:00 +0000 (-0600) Subject: fix jq_test so that it runs in the distcheck phase of autoconf X-Git-Tag: jq-1.3~22^2~21^2~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=52f906ab43e342002d675c6041ee7d1bca142baf;p=jq fix jq_test so that it runs in the distcheck phase of autoconf --- diff --git a/jq_test.c b/jq_test.c index 77e2860..9cdbdba 100644 --- a/jq_test.c +++ b/jq_test.c @@ -8,12 +8,24 @@ static void jv_test(); static void run_jq_tests(); -FILE* testdata; int main(int argc, char* argv[]) { + FILE* testdata; + jv_test(); if (argc == 1) { testdata = fopen("testdata", "r"); + if ( NULL == testdata ) + { + /* in an autoconf distcheck, the binary file will be in a _build subdirectory */ + testdata = fopen("../testdata", "r"); + if ( NULL == testdata ) + { + fprintf(stderr, "Could not find testdata file\n"); + exit(1); + } + } + } else if (argc == 2) { if (!strcmp(argv[1], "-")) { testdata = stdin; @@ -24,7 +36,7 @@ int main(int argc, char* argv[]) { printf("usage: %s OR cat testdata | %s - OR %s testdata\n", argv[0], argv[0], argv[0]); return 127; } - run_jq_tests(); + run_jq_tests(testdata); if (testdata != stdin) fclose(testdata); } @@ -38,22 +50,10 @@ static int skipline(const char* buf) { return 0; } -static void run_jq_tests() { - FILE* testdata = NULL; +static void run_jq_tests(FILE *testdata) { char buf[4096]; int tests = 0, passed = 0, invalid = 0; - testdata = fopen("testdata","r"); - if ( NULL == testdata ) - { - /* in an autoconf distcheck, the binary file will be in a _build subdirectory */ - testdata = fopen("../testdata", "r"); - if ( NULL == testdata ) - { - fprintf(stderr, "Could not find testdata file\n"); - exit(1); - } - } while (1) { if (!fgets(buf, sizeof(buf), testdata)) break; if (skipline(buf)) continue;