mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
2726146b04
First, add runc --debug exec test cases, very similar to those in debug.bats but for runc exec (rather than runc run). Do not include json tests as it is already tested in debug.bats. Second, add logrus debug to late stages of runc init, and amend the integration tests to check for those messages. This serves two purposes: - demonstrate that runc init can be amended with debug logrus which is properly forwarded to and logged by the parent runc create/run/exec; - improve the chances to catch the race fixed by the previous commit. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
73 lines
1.6 KiB
Bash
73 lines
1.6 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load helpers
|
|
|
|
function setup() {
|
|
setup_hello
|
|
}
|
|
|
|
function teardown() {
|
|
teardown_bundle
|
|
}
|
|
|
|
function check_debug() {
|
|
[[ "$*" == *"nsexec started"* ]]
|
|
[[ "$*" == *"child process in init()"* ]]
|
|
[[ "$*" == *"init: closing the pipe to signal completion"* ]]
|
|
}
|
|
|
|
@test "global --debug" {
|
|
# run hello-world
|
|
runc --debug run test_hello
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check expected debug output was sent to stderr
|
|
[[ "${output}" == *"level=debug"* ]]
|
|
check_debug "$output"
|
|
}
|
|
|
|
@test "global --debug to --log" {
|
|
# run hello-world
|
|
runc --log log.out --debug run test_hello
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check output does not include debug info
|
|
[[ "${output}" != *"level=debug"* ]]
|
|
|
|
cat log.out >&2
|
|
# check expected debug output was sent to log.out
|
|
output=$(cat log.out)
|
|
[[ "${output}" == *"level=debug"* ]]
|
|
check_debug "$output"
|
|
}
|
|
|
|
@test "global --debug to --log --log-format 'text'" {
|
|
# run hello-world
|
|
runc --log log.out --log-format "text" --debug run test_hello
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check output does not include debug info
|
|
[[ "${output}" != *"level=debug"* ]]
|
|
|
|
cat log.out >&2
|
|
# check expected debug output was sent to log.out
|
|
output=$(cat log.out)
|
|
[[ "${output}" == *"level=debug"* ]]
|
|
check_debug "$output"
|
|
}
|
|
|
|
@test "global --debug to --log --log-format 'json'" {
|
|
# run hello-world
|
|
runc --log log.out --log-format "json" --debug run test_hello
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check output does not include debug info
|
|
[[ "${output}" != *"level=debug"* ]]
|
|
|
|
cat log.out >&2
|
|
# check expected debug output was sent to log.out
|
|
output=$(cat log.out)
|
|
[[ "${output}" == *'"level":"debug"'* ]]
|
|
check_debug "$output"
|
|
}
|