From e891e0b9924f5c5a4d417b6741d1001bc4f71ec5 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 21 Jul 2011 22:26:53 -0700 Subject: [PATCH] Print a list of test failures in the test summary. Issue #428 --- src/lib/test.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/test.rs b/src/lib/test.rs index d39385cbb5c..678c7ae07d9 100644 --- a/src/lib/test.rs +++ b/src/lib/test.rs @@ -107,6 +107,8 @@ fn run_tests(&test_opts opts, &test_desc[] tests) -> bool { auto failed = 0u; auto ignored = 0u; + auto failures = ~[]; + for (test_desc test in filtered_tests) { out.write_str(#fmt("running %s ... ", test.name)); alt (run_test(test)) { @@ -119,6 +121,7 @@ fn run_tests(&test_opts opts, &test_desc[] tests) -> bool { failed += 1u; write_failed(out); out.write_line(""); + failures += ~[test]; } tr_ignored { ignored += 1u; @@ -131,6 +134,13 @@ fn run_tests(&test_opts opts, &test_desc[] tests) -> bool { assert passed + failed + ignored == total; auto success = failed == 0u; + if (!success) { + out.write_line("\nfailures:"); + for (test_desc test in failures) { + out.write_line(#fmt(" %s", test.name)); + } + } + out.write_str(#fmt("\nresult: ")); if (success) { write_ok(out);