From b139bc0d87cb4f13ab5a156bf1b6fb941f09488b Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Thu, 6 Feb 2020 11:34:57 +0100 Subject: [PATCH 1/2] nixosTests: Reraise exception in subtests --- nixos/lib/test-driver/test-driver.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 07f27515990bda..4f145507a8b824 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -905,10 +905,8 @@ def subtest(name: str) -> Iterator[None]: yield return True except Exception as e: - failed_tests.append( - 'Test "{}" failed with error: "{}"'.format(name, str(e)) - ) - log.log("error: {}".format(str(e))) + log.log(f'Test "{name}" failed with error: "{e}"') + raise e return False From 3cdd558a6f785fb3a934c7c1820b3576c9e8b5b6 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 May 2020 01:15:39 +0200 Subject: [PATCH 2/2] nixosTests: drop nr_tests and failed_tests variables With the tests now bailing out early on a failing subtest, we don't need to keep a list of failed tests, or the number of total tests --- nixos/lib/test-driver/test-driver.py | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 4f145507a8b824..d96600b3c9909c 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -85,8 +85,6 @@ } # Forward references -nr_tests: int -failed_tests: list log: "Logger" machines: "List[Machine]" @@ -882,25 +880,10 @@ def run_tests() -> None: if machine.is_up(): machine.execute("sync") - if nr_tests != 0: - nr_succeeded = nr_tests - len(failed_tests) - eprint("{} out of {} tests succeeded".format(nr_succeeded, nr_tests)) - if len(failed_tests) > 0: - eprint( - "The following tests have failed:\n - {}".format( - "\n - ".join(failed_tests) - ) - ) - sys.exit(1) - @contextmanager def subtest(name: str) -> Iterator[None]: - global nr_tests - global failed_tests - with log.nested(name): - nr_tests += 1 try: yield return True @@ -926,9 +909,6 @@ def subtest(name: str) -> Iterator[None]: ] exec("\n".join(machine_eval)) - nr_tests = 0 - failed_tests = [] - @atexit.register def clean_up() -> None: with log.nested("cleaning up"):