From: Tim Newsome Date: Fri, 11 Aug 2017 21:13:41 +0000 (-0700) Subject: When make fails to run a test, print out the log. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e31bdb1d210ed0f6f87a578bf16c97a94be192c4;hp=68d65fa9a44885bbe8d93673655e8c5ad98ed628;p=riscv-tests.git When make fails to run a test, print out the log. --- diff --git a/debug/Makefile b/debug/Makefile index d252b55..2d8d367 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -14,9 +14,10 @@ pylint: spike%: $(GDBSERVER_PY) \ --isolate \ + --print-failures \ $(src_dir)/targets/RISC-V/$@.py \ --sim_cmd $(RISCV)/bin/$(RISCV_SIM) \ - --server_cmd $(RISCV)/bin/openocd \ + --server_cmd $(RISCV)/bin/openocd clean: rm -f *.pyc diff --git a/debug/testlib.py b/debug/testlib.py index 597c69b..ee1364d 100644 --- a/debug/testlib.py +++ b/debug/testlib.py @@ -428,6 +428,8 @@ def run_tests(parsed, target, todo): sys.stdout = real_stdout log_fd.write("Time elapsed: %.2fs\n" % (time.time() - start)) print "%s in %.2fs" % (result, time.time() - start) + if result not in good_results and parsed.print_failures: + sys.stdout.write(file(log_name).read()) sys.stdout.flush() results.setdefault(result, []).append(name) count += 1 @@ -448,11 +450,12 @@ def print_results(results): return result def add_test_run_options(parser): - parser.add_argument("--logs", default="logs", help="Store logs in the specified directory.") parser.add_argument("--fail-fast", "-f", action="store_true", help="Exit as soon as any test fails.") + parser.add_argument("--print-failures", action="store_true", + help="When a test fails, print the log file to stdout.") parser.add_argument("test", nargs='*', help="Run only tests that are named here.") parser.add_argument("--gdb",