2016-03-15 03:55:05 +08:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load helpers
|
|
|
|
|
|
|
|
function setup() {
|
|
|
|
teardown_busybox
|
|
|
|
setup_busybox
|
|
|
|
}
|
|
|
|
|
|
|
|
function teardown() {
|
|
|
|
teardown_busybox
|
|
|
|
}
|
|
|
|
|
2016-05-14 06:49:45 +08:00
|
|
|
@test "runc run detached" {
|
|
|
|
# run busybox detached
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
2016-03-15 03:55:05 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
}
|
|
|
|
|
2016-06-18 10:03:48 +08:00
|
|
|
@test "runc run detached ({u,g}id != 0)" {
|
2017-09-07 07:54:46 +08:00
|
|
|
# cannot start containers as another user in rootless setup without idmap
|
|
|
|
[[ "$ROOTLESS" -ne 0 ]] && requires rootless_idmap
|
2016-05-11 15:45:00 +08:00
|
|
|
|
2016-06-18 10:03:48 +08:00
|
|
|
# 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
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run -d --console-socket $CONSOLE_SOCKET test_busybox
|
2016-06-18 10:03:48 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
}
|
|
|
|
|
2016-05-14 06:49:45 +08:00
|
|
|
@test "runc run detached --pid-file" {
|
|
|
|
# run busybox detached
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run --pid-file pid.txt -d --console-socket $CONSOLE_SOCKET test_busybox
|
2016-03-15 03:55:05 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
testcontainer test_busybox running
|
|
|
|
|
2016-05-16 16:21:52 +08:00
|
|
|
# check pid.txt was generated
|
2016-03-15 03:55:05 +08:00
|
|
|
[ -e pid.txt ]
|
|
|
|
|
|
|
|
run cat pid.txt
|
|
|
|
[ "$status" -eq 0 ]
|
2016-10-25 15:00:51 +08:00
|
|
|
[[ ${lines[0]} == $(__runc state test_busybox | jq '.pid') ]]
|
2016-03-15 03:55:05 +08:00
|
|
|
}
|
2016-11-01 19:13:49 +08:00
|
|
|
|
|
|
|
@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
|
2016-09-06 20:40:01 +08:00
|
|
|
runc run --pid-file pid.txt -d -b $BUSYBOX_BUNDLE --console-socket $CONSOLE_SOCKET test_busybox
|
2016-11-01 19:13:49 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check state
|
|
|
|
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') ]]
|
|
|
|
}
|