]> granicus.if.org Git - jq/commitdiff
get testing working in autoconf
authorLee Thompson <thompson@dtosolutions.com>
Wed, 5 Dec 2012 01:50:10 +0000 (19:50 -0600)
committerLee Thompson <thompson@dtosolutions.com>
Wed, 5 Dec 2012 01:50:10 +0000 (19:50 -0600)
Makefile.am
README
jq_test.c
setup.sh

index 2b0abeb7e94beed2d680df7a3afc6c30461b97d5..06d9c55afbf1648c6614b63b046387b4fd58f5f2 100644 (file)
@@ -3,7 +3,7 @@
 # setup is only used by distribution developers, not package developers.
 # Still, as a matter of allowing patching, its not a bad idea to distribute 
 # the developer setup script in the tarball.
-EXTRA_DIST = setup.sh config.h.in ChangeLog VERSION lexer.l lexer.h gen_utf8_tables.py jq.spec
+EXTRA_DIST = setup.sh config.h.in ChangeLog VERSION lexer.l lexer.h gen_utf8_tables.py jq.spec testdata
 
 # README.md is expected in Github projects, good stuff in it, so we'll 
 # distribute it and install it with the package in the doc directory.
@@ -27,13 +27,11 @@ bin_PROGRAMS = jq jq_test
 BUILT_SOURCES = jv_utf8_tables.gen.h lexer.h lexer.c
 jq_SOURCES = $(JQ_SRC) main.c
 jq_CPPFLAGS = $(DEVCFLAGS) -O -DJQ_DEBUG=0
-jq_CFLAGS = $(DEVCFLAGS) -O -DJQ_DEBUG=0
 
 
 TESTS = jq_test
 jq_test_SOURCES = $(JQ_SRC) jq_test.c
 jq_test_CPPFLAGS = $(DEVCFLAGS) -DJQ_DEBUG=1
-jq_test_CFLAGS = $(DEVCFLAGS) -DJQ_DEBUG=1
 LOG_COMPILER = valgrind
 AM_LOG_FLAGS = --error-exitcode=1 -q --leak-check=full
 
diff --git a/README b/README
index c6933dae35ea73e8ae8e61f62105edbbc559c84a..d84e95eece08cbaa579d90117fa9cce47d25ccfa 100644 (file)
--- a/README
+++ b/README
@@ -3,3 +3,8 @@ README file is not used, README.md is the file to READ!
 
 When you checkout the file, run "setup.sh" which gets autoconf initialized.
 Then follow the instructions in INSTALL.  Real standard stuff...
+
+
+   $ ./setup.sh             # initializes Autoconf and builds your release
+   $ ./setup.sh clean       # cleans all the temp files out of your tree
+   $ ./setup.sh superclean  # deletes your release files so you can try again
index b4674c8155f0db950c5b087667f65258fd0d524b..dd41a2f9a34827345fd1af486b75b4923781ac9b 100644 (file)
--- a/jq_test.c
+++ b/jq_test.c
@@ -24,10 +24,21 @@ static int skipline(const char* buf) {
 }
 
 static void run_jq_tests() {
-  FILE* testdata = fopen("testdata","r");
+  FILE* testdata = NULL;
   char buf[4096];
   int tests = 0, passed = 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;
index bb3c26ce753c443cc9dd1319e6ef45e811f44480..cf360e7d8765be8e9b3bf1b5c8a3475f790f143c 100755 (executable)
--- a/setup.sh
+++ b/setup.sh
@@ -13,7 +13,7 @@ elif [ "superclean" == "$1" ]; then
       chmod -R u+w jq-${ver}
       rm -rf jq-${ver}
     fi
-    rm -f jq-${ver}.*
+    rm -f jq-${ver}*
   fi
 else
   autoreconf --install