summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLee Thompson <stagr.lee@gmail.com>2013-02-02 23:05:00 -0600
committerLee Thompson <stagr.lee@gmail.com>2013-02-02 23:05:00 -0600
commit52f906ab43e342002d675c6041ee7d1bca142baf (patch)
tree69f9b3fab0847ef46731e82bdfb5898fe08651b0
parentc7725a8d4d905ff105b576fe351c245edd47d66f (diff)
fix jq_test so that it runs in the distcheck phase of autoconf
-rw-r--r--jq_test.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/jq_test.c b/jq_test.c
index 77e2860f..9cdbdba4 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;