diff options
author | Stephen Dolan <mu@netsoc.tcd.ie> | 2013-05-05 22:53:45 +0100 |
---|---|---|
committer | Stephen Dolan <mu@netsoc.tcd.ie> | 2013-05-05 22:59:53 +0100 |
commit | a49402c53a99e6ab58c20921c80603d777666db4 (patch) | |
tree | 5352bfaf07bb18e907f0579ac5c38f83fa303391 | |
parent | 47e015e9468ce109c0fb28562d2b768ba29d2de3 (diff) |
Combine the functionality of jq and jq_test
One binary is much simpler. ./jq --run-tests now runs the tests.
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | jq_test.c | 3 | ||||
-rw-r--r-- | main.c | 6 |
3 files changed, 11 insertions, 4 deletions
@@ -27,15 +27,15 @@ main.c: version.gen.h JQ_SRC=parser.gen.c lexer.gen.c opcode.c bytecode.c compile.c execute.c builtin.c jv.c jv_parse.c jv_print.c jv_dtoa.c jv_unicode.c jv_aux.c jv_alloc.c jq_test: CFLAGS += -DJQ_DEBUG=1 -jq_test: $(JQ_SRC) jq_test.c +jq_test: $(JQ_SRC) main.c jq_test.c $(CC) $(CFLAGS) $(CFLAGS_DEBUG) -o $@ $^ jq: CFLAGS += -O -DJQ_DEBUG=0 -jq: $(JQ_SRC) main.c +jq: $(JQ_SRC) main.c jq_test.c $(CC) $(CFLAGS) $(CFLAGS_OPT) -o $@ $^ test: jq_test - valgrind --error-exitcode=1 -q --leak-check=full ./jq_test >/dev/null + valgrind --error-exitcode=1 -q --leak-check=full ./jq_test --run-tests >/dev/null LIBRARIES=libjq BINARIES=jq jq_test @@ -10,7 +10,7 @@ static void run_jq_tests(); FILE* testdata; -int main(int argc, char* argv[]) { +int jq_testsuite(int argc, char* argv[]) { jv_test(); if (argc == 1) { testdata = fopen("testdata", "r"); @@ -26,6 +26,7 @@ int main(int argc, char* argv[]) { } run_jq_tests(); if (testdata != stdin) fclose(testdata); + return 0; } @@ -11,6 +11,8 @@ #include "jv_alloc.h" #include "version.gen.h" +int jq_testsuite(int argc, char* argv[]); + static const char* progname; static void usage() { @@ -140,6 +142,10 @@ static int read_more(char* buf, size_t size) { int main(int argc, char* argv[]) { if (argc) progname = argv[0]; + if (argc > 1 && !strcmp(argv[1], "--run-tests")) { + return jq_testsuite(argc - 1, argv + 1); + } + const char* program = 0; input_filenames = jv_mem_alloc(sizeof(const char*) * argc); ninput_files = 0; |