2016-09-24 12:20:52 +08:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load helpers
|
|
|
|
|
|
|
|
function setup() {
|
|
|
|
teardown_busybox
|
|
|
|
setup_busybox
|
|
|
|
}
|
|
|
|
|
|
|
|
function teardown() {
|
|
|
|
teardown_busybox
|
|
|
|
}
|
|
|
|
|
2016-09-29 18:33:32 +08:00
|
|
|
@test "ps" {
|
2016-05-11 15:45:00 +08:00
|
|
|
# ps is not supported, it requires cgroups
|
|
|
|
requires root
|
|
|
|
|
2016-09-24 12:20:52 +08:00
|
|
|
# start busybox detached
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
2016-09-24 12:20:52 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
|
2016-09-29 18:33:32 +08:00
|
|
|
runc ps test_busybox
|
2016-09-24 12:20:52 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
[[ ${lines[0]} =~ UID\ +PID\ +PPID\ +C\ +STIME\ +TTY\ +TIME\ +CMD+ ]]
|
2016-05-11 15:45:00 +08:00
|
|
|
[[ "${lines[1]}" == *"$(id -un 2>/dev/null)"*[0-9]* ]]
|
2016-09-24 12:20:52 +08:00
|
|
|
}
|
2016-09-29 18:33:32 +08:00
|
|
|
|
|
|
|
@test "ps -f json" {
|
2016-05-11 15:45:00 +08:00
|
|
|
# ps is not supported, it requires cgroups
|
|
|
|
requires root
|
|
|
|
|
2016-09-29 18:33:32 +08:00
|
|
|
# start busybox detached
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
2016-09-29 18:33:32 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
|
|
|
|
runc ps -f json test_busybox
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
[[ ${lines[0]} =~ [0-9]+ ]]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "ps -e -x" {
|
2016-05-11 15:45:00 +08:00
|
|
|
# ps is not supported, it requires cgroups
|
|
|
|
requires root
|
|
|
|
|
2016-09-29 18:33:32 +08:00
|
|
|
# start busybox detached
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
2016-09-29 18:33:32 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
|
|
|
|
runc ps test_busybox -e -x
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
[[ ${lines[0]} =~ \ +PID\ +TTY\ +STAT\ +TIME\ +COMMAND+ ]]
|
|
|
|
[[ "${lines[1]}" =~ [0-9]+ ]]
|
|
|
|
}
|
2020-06-02 18:55:15 +08:00
|
|
|
|
|
|
|
@test "ps after the container stopped" {
|
|
|
|
# ps requires cgroups
|
|
|
|
[[ "$ROOTLESS" -ne 0 ]] && requires rootless_cgroup
|
|
|
|
set_cgroups_path "$BUSYBOX_BUNDLE"
|
|
|
|
|
|
|
|
# start busybox detached
|
|
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
|
|
|
|
runc ps test_busybox
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
runc kill test_busybox KILL
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'"
|
|
|
|
|
|
|
|
runc ps test_busybox
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
}
|