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.
This commit is contained in:
parent
1782f6c826
commit
a8e9a93493
@ -381,15 +381,17 @@ class Machine:
|
|||||||
|
|
||||||
def succeed(self, *commands):
|
def succeed(self, *commands):
|
||||||
"""Execute each command and check that it succeeds."""
|
"""Execute each command and check that it succeeds."""
|
||||||
|
output = ""
|
||||||
for command in commands:
|
for command in commands:
|
||||||
with self.nested("must succeed: {}".format(command)):
|
with self.nested("must succeed: {}".format(command)):
|
||||||
status, output = self.execute(command)
|
(status, out) = self.execute(command)
|
||||||
if status != 0:
|
if status != 0:
|
||||||
self.log("output: {}".format(output))
|
self.log("output: {}".format(out))
|
||||||
raise Exception(
|
raise Exception(
|
||||||
"command `{}` failed (exit code {})".format(command, status)
|
"command `{}` failed (exit code {})".format(command, status)
|
||||||
)
|
)
|
||||||
return output
|
output += out
|
||||||
|
return output
|
||||||
|
|
||||||
def fail(self, *commands):
|
def fail(self, *commands):
|
||||||
"""Execute each command and check that it fails."""
|
"""Execute each command and check that it fails."""
|
||||||
|
Loading…
Reference in New Issue
Block a user