1
0
mirror of https://github.com/stedolan/jq.git synced 2024-05-11 05:55:39 +00:00

get testing working in autoconf

This commit is contained in:
Lee Thompson
2012-12-04 19:50:10 -06:00
parent ca862a594c
commit a156fb19de
4 changed files with 19 additions and 5 deletions

View File

@@ -3,7 +3,7 @@
# setup is only used by distribution developers, not package developers. # setup is only used by distribution developers, not package developers.
# Still, as a matter of allowing patching, its not a bad idea to distribute # Still, as a matter of allowing patching, its not a bad idea to distribute
# the developer setup script in the tarball. # 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 # 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. # 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 BUILT_SOURCES = jv_utf8_tables.gen.h lexer.h lexer.c
jq_SOURCES = $(JQ_SRC) main.c jq_SOURCES = $(JQ_SRC) main.c
jq_CPPFLAGS = $(DEVCFLAGS) -O -DJQ_DEBUG=0 jq_CPPFLAGS = $(DEVCFLAGS) -O -DJQ_DEBUG=0
jq_CFLAGS = $(DEVCFLAGS) -O -DJQ_DEBUG=0
TESTS = jq_test TESTS = jq_test
jq_test_SOURCES = $(JQ_SRC) jq_test.c jq_test_SOURCES = $(JQ_SRC) jq_test.c
jq_test_CPPFLAGS = $(DEVCFLAGS) -DJQ_DEBUG=1 jq_test_CPPFLAGS = $(DEVCFLAGS) -DJQ_DEBUG=1
jq_test_CFLAGS = $(DEVCFLAGS) -DJQ_DEBUG=1
LOG_COMPILER = valgrind LOG_COMPILER = valgrind
AM_LOG_FLAGS = --error-exitcode=1 -q --leak-check=full AM_LOG_FLAGS = --error-exitcode=1 -q --leak-check=full

5
README
View File

@@ -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. When you checkout the file, run "setup.sh" which gets autoconf initialized.
Then follow the instructions in INSTALL. Real standard stuff... 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

View File

@@ -24,10 +24,21 @@ static int skipline(const char* buf) {
} }
static void run_jq_tests() { static void run_jq_tests() {
FILE* testdata = fopen("testdata","r"); FILE* testdata = NULL;
char buf[4096]; char buf[4096];
int tests = 0, passed = 0; 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) { while (1) {
if (!fgets(buf, sizeof(buf), testdata)) break; if (!fgets(buf, sizeof(buf), testdata)) break;
if (skipline(buf)) continue; if (skipline(buf)) continue;

View File

@@ -13,7 +13,7 @@ elif [ "superclean" == "$1" ]; then
chmod -R u+w jq-${ver} chmod -R u+w jq-${ver}
rm -rf jq-${ver} rm -rf jq-${ver}
fi fi
rm -f jq-${ver}.* rm -f jq-${ver}*
fi fi
else else
autoreconf --install autoreconf --install