2016-03-15 03:55:05 +08:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load helpers
|
|
|
|
|
|
|
|
function setup() {
|
|
|
|
teardown_hello
|
|
|
|
setup_hello
|
|
|
|
}
|
|
|
|
|
|
|
|
function teardown() {
|
|
|
|
teardown_hello
|
|
|
|
}
|
|
|
|
|
2016-05-14 06:49:45 +08:00
|
|
|
@test "runc run" {
|
|
|
|
# run hello-world
|
|
|
|
runc run test_hello
|
2016-03-15 03:55:05 +08:00
|
|
|
[ "$status" -eq 0 ]
|
2016-05-16 16:21:52 +08:00
|
|
|
|
2016-03-15 03:55:05 +08:00
|
|
|
# check expected output
|
|
|
|
[[ "${output}" == *"Hello"* ]]
|
|
|
|
}
|
|
|
|
|
2016-06-18 10:03:48 +08:00
|
|
|
@test "runc run ({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 hello-world
|
|
|
|
runc run test_hello
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
|
|
|
|
# check expected output
|
|
|
|
[[ "${output}" == *"Hello"* ]]
|
|
|
|
}
|
|
|
|
|
2016-05-14 06:49:45 +08:00
|
|
|
@test "runc run with rootfs set to ." {
|
2016-03-15 03:55:05 +08:00
|
|
|
cp config.json rootfs/.
|
|
|
|
rm config.json
|
|
|
|
cd rootfs
|
|
|
|
sed -i 's;"rootfs";".";' config.json
|
|
|
|
|
2016-05-14 06:49:45 +08:00
|
|
|
# run hello-world
|
|
|
|
runc run test_hello
|
2016-03-15 03:55:05 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
[[ "${output}" == *"Hello"* ]]
|
|
|
|
}
|
|
|
|
|
2016-05-14 06:49:45 +08:00
|
|
|
@test "runc run --pid-file" {
|
|
|
|
# run hello-world
|
|
|
|
runc run --pid-file pid.txt test_hello
|
2016-03-15 03:55:05 +08:00
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
[[ "${output}" == *"Hello"* ]]
|
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 ]
|
|
|
|
[[ ${lines[0]} =~ [0-9]+ ]]
|
|
|
|
}
|