X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ftest.c;h=258517e76a19b13818d9b6eb0f79260197b78e4f;hp=673c450760f38ca922b6d8cef20466e4dc0f9d0f;hb=b111819a3d4c8dea01efe2c12ef21689ea0c21ed;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292 diff --git a/src/test.c b/src/test.c index 673c450..258517e 100644 --- a/src/test.c +++ b/src/test.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ @@ -28,6 +28,7 @@ static int test_todo = 0; static int test_verbose = 1; static const char *test_prog = 0; static int log_tests = 0; +static int test_stop = 0; static FILE *get_file(void) { @@ -74,11 +75,17 @@ void yaz_check_init1(int *argc_p, char ***argv_p) test_verbose = atoi(argv[i]); continue; } + else if (i < argc && !strcmp(suf, "stop")) + { + test_stop = 1; + continue; + } else if (!strcmp(suf, "help")) { fprintf(stderr, "--test-help help\n" "--test-file fname output to fname\n" + "--test-stop stop at first failing test\n" "--test-verbose level verbose level\n" " 0=Quiet. Only exit code tells what's wrong\n" " 1=Report+Summary only if tests fail.\n" @@ -199,6 +206,10 @@ void yaz_check_print1(int type, const char *file, int line, yaz_log(YLOG_LOG, "%s:%d %s: ", file, line, msg); yaz_log(YLOG_LOG, "%s", expr); } + if ( type == YAZ_TEST_TYPE_FAIL && test_stop ) + { + exit(1); + } }