mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
972c176ae4
This fixes all of the tests that were broken as part of the console rewrite. This includes fixing the integration tests that used TTY handling inside libcontainer, as well as the bats integration tests that needed to be rewritten to use recvtty (as they rely on detached containers that are running). This patch is part of the console rewrite patchset. Signed-off-by: Aleksa Sarai <asarai@suse.de>
82 lines
1.7 KiB
Bash
82 lines
1.7 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load helpers
|
|
|
|
function setup() {
|
|
teardown_busybox
|
|
setup_busybox
|
|
}
|
|
|
|
function teardown() {
|
|
teardown_busybox
|
|
}
|
|
|
|
@test "runc run detached" {
|
|
# run busybox detached
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check state
|
|
wait_for_container 15 1 test_busybox
|
|
|
|
testcontainer test_busybox running
|
|
}
|
|
|
|
@test "runc run detached ({u,g}id != 0)" {
|
|
# replace "uid": 0 with "uid": 1000
|
|
# and do a similar thing for gid.
|
|
sed -i 's;"uid": 0;"uid": 1000;g' config.json
|
|
sed -i 's;"gid": 0;"gid": 100;g' config.json
|
|
|
|
# run busybox detached
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check state
|
|
wait_for_container 15 1 test_busybox
|
|
|
|
testcontainer test_busybox running
|
|
}
|
|
|
|
@test "runc run detached --pid-file" {
|
|
# run busybox detached
|
|
runc run --pid-file pid.txt -d --console-socket $CONSOLE_SOCKET test_busybox
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check state
|
|
wait_for_container 15 1 test_busybox
|
|
|
|
testcontainer test_busybox running
|
|
|
|
# check pid.txt was generated
|
|
[ -e pid.txt ]
|
|
|
|
run cat pid.txt
|
|
[ "$status" -eq 0 ]
|
|
[[ ${lines[0]} == $(__runc state test_busybox | jq '.pid') ]]
|
|
}
|
|
|
|
@test "runc run detached --pid-file with new CWD" {
|
|
# create pid_file directory as the CWD
|
|
run mkdir pid_file
|
|
[ "$status" -eq 0 ]
|
|
run cd pid_file
|
|
[ "$status" -eq 0 ]
|
|
|
|
# run busybox detached
|
|
runc run --pid-file pid.txt -d -b $BUSYBOX_BUNDLE --console-socket $CONSOLE_SOCKET test_busybox
|
|
[ "$status" -eq 0 ]
|
|
|
|
# check state
|
|
wait_for_container 15 1 test_busybox
|
|
|
|
testcontainer test_busybox running
|
|
|
|
# check pid.txt was generated
|
|
[ -e pid.txt ]
|
|
|
|
run cat pid.txt
|
|
[ "$status" -eq 0 ]
|
|
[[ ${lines[0]} == $(__runc state test_busybox | jq '.pid') ]]
|
|
}
|