mirror of
https://github.com/containers/podman.git
synced 2025-08-06 03:19:52 +08:00
Make error message matching in 030-run.bats less fragile
Amongst other things 030-run.bats checks for sensible error messages when attempting a "podman run" with a non-existent or inaccessible path. It checks for these messages, which come from the low-level runtime, in a lot of detail, including separate versions for runc and crun. This is fragile in several ways: * It's likely to fail if using a runtime other than crun or runc * It relies on detecting whether the runtime is crun vs. runc using the path, which could fail if the binary has been named something unusual * It will break if crun or runc ever alter their error message (even if it's just changing case) This replaces the checked versions with a much more accepting regex which will work for both the runc and crun messages, while still looking for the essential pieces. This isn't guaranteed to work with other runtimes, but it's much more likely to. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
@ -5,18 +5,8 @@ load helpers
|
||||
@test "podman run - basic tests" {
|
||||
rand=$(random_string 30)
|
||||
|
||||
# 2019-09 Fedora 31 and rawhide (32) are switching from runc to crun
|
||||
# because of cgroups v2; crun emits different error messages.
|
||||
# Default to runc:
|
||||
err_no_such_cmd="Error: .*: starting container process caused.*exec:.*stat /no/such/command: no such file or directory"
|
||||
err_no_exec_dir="Error: .*: starting container process caused.*exec:.* permission denied"
|
||||
|
||||
# ...but check the configured runtime engine, and switch to crun as needed
|
||||
run_podman info --format '{{ .Host.OCIRuntime.Path }}'
|
||||
if expr "$output" : ".*/crun"; then
|
||||
err_no_such_cmd="Error: crun: executable file.* not found in \$PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found"
|
||||
err_no_exec_dir="Error: crun: open executable: Operation not permitted: OCI permission denied"
|
||||
fi
|
||||
err_no_such_cmd="Error:.*/no/such/command.*[Nn]o such file or directory"
|
||||
err_no_exec_dir="Error:.*exec.*permission denied"
|
||||
|
||||
tests="
|
||||
true | 0 |
|
||||
|
Reference in New Issue
Block a user