0146d223d5
Bats' 'run' helper returns with an exit code of 0 even when the command that it was given to run failed with a non-zero exit code [1]. This is to enable making further assertions about the command after 'run' has finished. If there's nothing that checks for failures, then it will continue as if everything is alright. Therefore, currently, if 'podman logs' fails, there's no indication of it and the test only fails later because it thinks that the container failed to initialize: not ok 106 container: Check container starts without issues # (from function `assert_success' in file test/system/libs/bats-assert/src/assert.bash, line 114, # in test file test/system/103-container.bats, line 39) # `assert_success' failed # # -- command failed -- # status : 1 # output : # -- # Instead, from now on, it will be more obvious: not ok 106 container: Check container starts without issues # (from function `assert_success' in file test/system/libs/bats-assert/src/assert.bash, line 114, # in test file test/system/103-container.bats, line 39) # `assert_success' failed # # -- command failed -- # status : 125 # output (2 lines): # Failed to invoke '/usr/bin/podman logs' # Error: no container with name or ID "foo" found: no such container # -- # One alternative was to use 'assert_success' [2] to assert that the command given to 'run' succeeded. That would show the 'podman logs' failure as: not ok 106 container: Check container starts without issues # (from function `assert_success' in file test/system/libs/bats-assert/src/assert.bash, line 114, # in test file test/system/103-container.bats, line 39) # `assert_success' failed # # -- command failed -- # status : 1 # output (29 lines): # # -- command failed -- # status : 125 # output : Error: no container with name or ID "foo" found: no such container # -- # # ... # # -- command failed -- # status : 125 # output : Error: no container with name or ID "foo" found: no such container # -- # -- # However, it's a bit too noisy because of the 'assert_success' not terminating container_started() and continuing to loop for the remaining attempts. [1] https://bats-core.readthedocs.io/en/stable/writing-tests.html [2] https://github.com/bats-core/bats-assert https://github.com/containers/toolbox/pull/1372 |
||
---|---|---|
.. | ||
system | ||
meson.build |