From a8e9a93493bca33f59b6c893cd8af459b18ab619 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 11 Nov 2019 01:24:49 +0100 Subject: nixos/tests: fix succeed() with multiple commands we previously immediately returned the first commands output, and didn't execute any of the other commands. Now, return the last commands output. This should be documented in the method docstring. --- nixos/lib/test-driver/test-driver.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'nixos') diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index c8940d78af4e..c8d4936ac52a 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -381,15 +381,17 @@ class Machine: def succeed(self, *commands): """Execute each command and check that it succeeds.""" + output = "" for command in commands: with self.nested("must succeed: {}".format(command)): - status, output = self.execute(command) + (status, out) = self.execute(command) if status != 0: - self.log("output: {}".format(output)) + self.log("output: {}".format(out)) raise Exception( "command `{}` failed (exit code {})".format(command, status) ) - return output + output += out + return output def fail(self, *commands): """Execute each command and check that it fails.""" -- cgit 1.4.1