2017-03-18 06:45:19 +08:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load helpers
|
|
|
|
|
|
|
|
@test "run" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2017-03-18 06:45:19 +08:00
|
|
|
fi
|
2017-07-21 01:41:51 +08:00
|
|
|
runc --version
|
2017-03-18 06:45:19 +08:00
|
|
|
createrandom ${TESTDIR}/randomfile
|
2017-03-28 02:46:35 +08:00
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
2017-03-25 00:49:22 +08:00
|
|
|
root=$(buildah mount $cid)
|
2018-02-23 23:54:23 +08:00
|
|
|
buildah config --workingdir /tmp $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid pwd
|
|
|
|
is "$output" "/tmp" "pwd"
|
2018-02-23 23:54:23 +08:00
|
|
|
buildah config --workingdir /root $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid pwd
|
|
|
|
is "$output" "/root" "pwd"
|
2017-03-18 06:45:19 +08:00
|
|
|
cp ${TESTDIR}/randomfile $root/tmp/
|
|
|
|
buildah run $cid cp /tmp/randomfile /tmp/other-randomfile
|
|
|
|
test -s $root/tmp/other-randomfile
|
|
|
|
cmp ${TESTDIR}/randomfile $root/tmp/other-randomfile
|
2017-07-21 01:41:51 +08:00
|
|
|
|
|
|
|
buildah unmount $cid
|
|
|
|
buildah rm $cid
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "run--args" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2017-07-21 01:41:51 +08:00
|
|
|
fi
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
|
|
|
|
|
|
|
# This should fail, because buildah run doesn't have a -n flag.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run -n $cid echo test
|
2017-07-21 01:41:51 +08:00
|
|
|
|
|
|
|
# This should succeed, because buildah run stops caring at the --, which is preserved as part of the command.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid echo -- -n test
|
|
|
|
is "$output" "-- -n test" "echo"
|
2017-07-21 01:41:51 +08:00
|
|
|
|
|
|
|
# This should succeed, because buildah run stops caring at the --, which is not part of the command.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- echo -n -- test
|
|
|
|
is "$output" "-- test" "echo"
|
2017-07-21 01:41:51 +08:00
|
|
|
|
|
|
|
# This should succeed, because buildah run stops caring at the --.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- echo -- -n test --
|
|
|
|
is "$output" "-- -n test --" "echo"
|
2017-07-21 01:41:51 +08:00
|
|
|
|
|
|
|
# This should succeed, because buildah run stops caring at the --.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- echo -n "test"
|
|
|
|
is "$output" "test" "echo"
|
2017-07-18 05:09:30 +08:00
|
|
|
|
2017-03-24 04:45:35 +08:00
|
|
|
buildah rm $cid
|
2017-03-18 06:45:19 +08:00
|
|
|
}
|
2017-04-05 05:31:02 +08:00
|
|
|
|
2017-06-23 23:53:51 +08:00
|
|
|
@test "run-cmd" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2017-06-23 23:53:51 +08:00
|
|
|
fi
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
2018-02-23 23:54:23 +08:00
|
|
|
buildah config --workingdir /tmp $cid
|
2017-06-23 23:53:51 +08:00
|
|
|
|
2018-05-03 07:50:13 +08:00
|
|
|
|
|
|
|
# Configured entrypoint/cmd shouldn't modify behaviour of run with no arguments
|
|
|
|
|
|
|
|
# empty entrypoint, configured cmd, empty run arguments
|
2018-02-23 23:54:23 +08:00
|
|
|
buildah config --entrypoint "" $cid
|
|
|
|
buildah config --cmd pwd $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid
|
|
|
|
is "$output" ".*command must be specified" "empty entrypoint, cmd, no args"
|
|
|
|
|
2018-05-03 13:48:50 +08:00
|
|
|
# empty entrypoint, configured cmd, empty run arguments, end parsing option
|
|
|
|
buildah config --entrypoint "" $cid
|
|
|
|
buildah config --cmd pwd $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid --
|
|
|
|
is "$output" ".*command must be specified" "empty entrypoint, cmd, no args, --"
|
2017-06-23 23:53:51 +08:00
|
|
|
|
2018-05-03 07:50:13 +08:00
|
|
|
# configured entrypoint, empty cmd, empty run arguments
|
2018-04-18 04:00:12 +08:00
|
|
|
buildah config --entrypoint pwd $cid
|
2018-02-23 23:54:23 +08:00
|
|
|
buildah config --cmd "" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid
|
|
|
|
is "$output" ".*command must be specified" "entrypoint, empty cmd, no args"
|
|
|
|
|
2018-05-03 13:48:50 +08:00
|
|
|
# configured entrypoint, empty cmd, empty run arguments, end parsing option
|
|
|
|
buildah config --entrypoint pwd $cid
|
|
|
|
buildah config --cmd "" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid --
|
|
|
|
is "$output" ".*command must be specified" "entrypoint, empty cmd, no args, --"
|
2017-06-23 23:53:51 +08:00
|
|
|
|
2018-05-03 07:50:13 +08:00
|
|
|
# configured entrypoint only, empty run arguments
|
2018-04-18 04:00:12 +08:00
|
|
|
buildah config --entrypoint pwd $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid
|
|
|
|
is "$output" ".*command must be specified" "entrypoint, no args"
|
|
|
|
|
2018-05-03 13:48:50 +08:00
|
|
|
# configured entrypoint only, empty run arguments, end parsing option
|
|
|
|
buildah config --entrypoint pwd $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid --
|
|
|
|
is "$output" ".*command must be specified" "entrypoint, no args, --"
|
2017-06-23 23:53:51 +08:00
|
|
|
|
2018-05-03 07:50:13 +08:00
|
|
|
# cofigured cmd only, empty run arguments
|
2018-05-03 07:13:28 +08:00
|
|
|
buildah config --cmd pwd $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid
|
|
|
|
is "$output" ".*command must be specified" "cmd, no args"
|
2018-05-03 07:13:28 +08:00
|
|
|
|
2019-01-22 23:35:52 +08:00
|
|
|
# configured cmd only, empty run arguments, end parsing option
|
2018-05-03 13:48:50 +08:00
|
|
|
buildah config --cmd pwd $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid --
|
|
|
|
is "$output" ".*command must be specified" "cmd, no args, --"
|
2018-05-03 13:48:50 +08:00
|
|
|
|
2018-05-03 07:50:13 +08:00
|
|
|
# configured entrypoint, configured cmd, empty run arguments
|
2018-05-03 07:13:28 +08:00
|
|
|
buildah config --entrypoint "pwd" $cid
|
|
|
|
buildah config --cmd "whoami" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid
|
|
|
|
is "$output" ".*command must be specified" "entrypoint, cmd, no args"
|
|
|
|
|
2018-05-03 13:48:50 +08:00
|
|
|
# configured entrypoint, configured cmd, empty run arguments, end parsing option
|
|
|
|
buildah config --entrypoint "pwd" $cid
|
|
|
|
buildah config --cmd "whoami" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run $cid --
|
|
|
|
is "$output" ".*command must be specified" "entrypoint, cmd, no args"
|
2017-06-23 23:53:51 +08:00
|
|
|
|
2018-05-03 07:50:13 +08:00
|
|
|
|
|
|
|
# Configured entrypoint/cmd shouldn't modify behaviour of run with argument
|
|
|
|
# Note: entrypoint and cmd can be invalid in below tests as they should never execute
|
|
|
|
|
|
|
|
# empty entrypoint, configured cmd, configured run arguments
|
|
|
|
buildah config --entrypoint "" $cid
|
|
|
|
buildah config --cmd "/invalid/cmd" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- pwd
|
|
|
|
is "$output" "/tmp" "empty entrypoint, invalid cmd, pwd"
|
2018-05-03 07:50:13 +08:00
|
|
|
|
|
|
|
# configured entrypoint, empty cmd, configured run arguments
|
|
|
|
buildah config --entrypoint "/invalid/entrypoint" $cid
|
|
|
|
buildah config --cmd "" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- pwd
|
|
|
|
is "$output" "/tmp" "invalid entrypoint, empty cmd, pwd"
|
2018-05-03 07:50:13 +08:00
|
|
|
|
|
|
|
# configured entrypoint only, configured run arguments
|
|
|
|
buildah config --entrypoint "/invalid/entrypoint" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- pwd
|
|
|
|
is "$output" "/tmp" "invalid entrypoint, no cmd(??), pwd"
|
2018-05-03 07:50:13 +08:00
|
|
|
|
|
|
|
# cofigured cmd only, configured run arguments
|
|
|
|
buildah config --cmd "/invalid/cmd" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- pwd
|
|
|
|
is "$output" "/tmp" "invalid cmd, no entrypoint(??), pwd"
|
2018-05-03 07:50:13 +08:00
|
|
|
|
|
|
|
# configured entrypoint, configured cmd, configured run arguments
|
|
|
|
buildah config --entrypoint "/invalid/entrypoint" $cid
|
|
|
|
buildah config --cmd "/invalid/cmd" $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid -- pwd
|
|
|
|
is "$output" "/tmp" "invalid cmd & entrypoint, pwd"
|
2018-05-03 07:50:13 +08:00
|
|
|
|
2017-06-23 23:53:51 +08:00
|
|
|
buildah rm $cid
|
|
|
|
}
|
|
|
|
|
2019-04-02 05:56:29 +08:00
|
|
|
function configure_and_check_user() {
|
|
|
|
local setting=$1
|
|
|
|
local expect_u=$2
|
|
|
|
local expect_g=$3
|
|
|
|
|
|
|
|
run_buildah config -u "$setting" $cid
|
|
|
|
run_buildah --debug=false run -- $cid id -u
|
|
|
|
is "$output" "$expect_u" "id -u ($setting)"
|
|
|
|
|
|
|
|
run_buildah --debug=false run -- $cid id -g
|
|
|
|
is "$output" "$expect_g" "id -g ($setting)"
|
|
|
|
}
|
|
|
|
|
2017-04-05 05:31:02 +08:00
|
|
|
@test "run-user" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2017-04-05 05:31:02 +08:00
|
|
|
fi
|
|
|
|
eval $(go env)
|
|
|
|
echo CGO_ENABLED=${CGO_ENABLED}
|
|
|
|
if test "$CGO_ENABLED" -ne 1; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "CGO_ENABLED = '$CGO_ENABLED'"
|
2017-04-05 05:31:02 +08:00
|
|
|
fi
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
|
|
|
root=$(buildah mount $cid)
|
|
|
|
|
|
|
|
testuser=jimbo
|
2017-11-04 01:32:19 +08:00
|
|
|
testbogususer=nosuchuser
|
2017-04-05 05:31:02 +08:00
|
|
|
testgroup=jimbogroup
|
|
|
|
testuid=$RANDOM
|
2017-11-03 01:39:56 +08:00
|
|
|
testotheruid=$RANDOM
|
2017-04-05 05:31:02 +08:00
|
|
|
testgid=$RANDOM
|
|
|
|
testgroupid=$RANDOM
|
|
|
|
echo "$testuser:x:$testuid:$testgid:Jimbo Jenkins:/home/$testuser:/bin/sh" >> $root/etc/passwd
|
|
|
|
echo "$testgroup:x:$testgroupid:" >> $root/etc/group
|
|
|
|
|
2019-04-02 05:56:29 +08:00
|
|
|
configure_and_check_user "" 0 0
|
|
|
|
configure_and_check_user "${testuser}" $testuid $testgid
|
|
|
|
configure_and_check_user "${testuid}" $testuid $testgid
|
|
|
|
configure_and_check_user "${testuser}:${testgroup}" $testuid $testgroupid
|
|
|
|
configure_and_check_user "${testuid}:${testgroup}" $testuid $testgroupid
|
|
|
|
configure_and_check_user "${testotheruid}:${testgroup}" $testotheruid $testgroupid
|
|
|
|
configure_and_check_user "${testotheruid}" $testotheruid 0
|
|
|
|
configure_and_check_user "${testuser}:${testgroupid}" $testuid $testgroupid
|
|
|
|
configure_and_check_user "${testuid}:${testgroupid}" $testuid $testgroupid
|
|
|
|
|
|
|
|
buildah config -u ${testbogususer} $cid
|
|
|
|
run_buildah 1 --debug=false run -- $cid id -u
|
|
|
|
is "$output" ".*unknown user" "id -u (bogus user)"
|
|
|
|
run_buildah 1 --debug=false run -- $cid id -g
|
|
|
|
is "$output" ".*unknown user" "id -g (bogus user)"
|
2017-11-04 01:32:19 +08:00
|
|
|
|
2017-04-13 01:35:48 +08:00
|
|
|
ln -vsf /etc/passwd $root/etc/passwd
|
2018-02-23 23:54:23 +08:00
|
|
|
buildah config -u ${testuser}:${testgroup} $cid
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run -- $cid id -u
|
2017-04-13 01:35:48 +08:00
|
|
|
echo "$output"
|
2019-04-02 05:56:29 +08:00
|
|
|
is "$output" ".*unknown user" "run as unknown user"
|
2017-04-13 01:35:48 +08:00
|
|
|
|
2017-04-05 05:31:02 +08:00
|
|
|
buildah unmount $cid
|
|
|
|
buildah rm $cid
|
|
|
|
}
|
2017-09-21 19:39:39 +08:00
|
|
|
|
|
|
|
@test "run --hostname" {
|
2018-07-20 02:41:02 +08:00
|
|
|
if test "$BUILDAH_ISOLATION" = "rootless" ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "rootless"
|
2018-07-20 02:41:02 +08:00
|
|
|
fi
|
2017-09-21 19:39:39 +08:00
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2017-09-21 19:39:39 +08:00
|
|
|
fi
|
|
|
|
runc --version
|
2017-11-10 01:23:47 +08:00
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid hostname
|
2017-09-21 19:39:39 +08:00
|
|
|
[ "$output" != "foobar" ]
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run --hostname foobar $cid hostname
|
|
|
|
is "$output" "foobar" "hostname"
|
2017-09-21 19:39:39 +08:00
|
|
|
buildah rm $cid
|
|
|
|
}
|
2018-05-31 22:56:40 +08:00
|
|
|
|
|
|
|
@test "run --volume" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2018-05-31 22:56:40 +08:00
|
|
|
fi
|
2018-07-21 05:58:48 +08:00
|
|
|
zflag=
|
|
|
|
if which selinuxenabled > /dev/null 2> /dev/null ; then
|
|
|
|
if selinuxenabled ; then
|
|
|
|
zflag=z
|
|
|
|
fi
|
|
|
|
fi
|
2018-05-31 22:56:40 +08:00
|
|
|
runc --version
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
|
|
|
mkdir -p ${TESTDIR}/was-empty
|
|
|
|
# As a baseline, this should succeed.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run -v ${TESTDIR}/was-empty:/var/not-empty${zflag:+:${zflag}} $cid touch /var/not-empty/testfile
|
2018-05-31 22:56:40 +08:00
|
|
|
# If we're parsing the options at all, this should be read-only, so it should fail.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah 1 --debug=false run -v ${TESTDIR}/was-empty:/var/not-empty:ro${zflag:+,${zflag}} $cid touch /var/not-empty/testfile
|
2018-09-11 02:23:26 +08:00
|
|
|
# Even if the parent directory doesn't exist yet, this should succeed.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run -v ${TESTDIR}/was-empty:/var/multi-level/subdirectory $cid touch /var/multi-level/subdirectory/testfile
|
2018-09-11 02:23:26 +08:00
|
|
|
# And check the same for file volumes.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run -v ${TESTDIR}/was-empty/testfile:/var/different-multi-level/subdirectory/testfile $cid touch /var/different-multi-level/subdirectory/testfile
|
2018-05-31 22:56:40 +08:00
|
|
|
}
|
2018-06-02 02:54:45 +08:00
|
|
|
|
|
|
|
@test "run symlinks" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2018-06-02 02:54:45 +08:00
|
|
|
fi
|
|
|
|
runc --version
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
|
|
|
mkdir -p ${TESTDIR}/tmp
|
|
|
|
ln -s tmp ${TESTDIR}/tmp2
|
|
|
|
export TMPDIR=${TESTDIR}/tmp2
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid id
|
2018-06-02 02:54:45 +08:00
|
|
|
}
|
2018-06-05 05:36:26 +08:00
|
|
|
|
|
|
|
@test "run --cap-add/--cap-drop" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2018-06-05 05:36:26 +08:00
|
|
|
fi
|
|
|
|
runc --version
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
|
|
|
# Try with default caps.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid grep ^CapEff /proc/self/status
|
2018-06-05 05:36:26 +08:00
|
|
|
defaultcaps="$output"
|
|
|
|
# Try adding DAC_OVERRIDE.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run --cap-add CAP_DAC_OVERRIDE $cid grep ^CapEff /proc/self/status
|
2018-06-05 05:36:26 +08:00
|
|
|
addedcaps="$output"
|
|
|
|
# Try dropping DAC_OVERRIDE.
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run --cap-drop CAP_DAC_OVERRIDE $cid grep ^CapEff /proc/self/status
|
2018-06-05 05:36:26 +08:00
|
|
|
droppedcaps="$output"
|
|
|
|
# Okay, now the "dropped" and "added" should be different.
|
|
|
|
test "$addedcaps" != "$droppedcaps"
|
|
|
|
# And one or the other should be different from the default, with the other being the same.
|
|
|
|
if test "$defaultcaps" == "$addedcaps" ; then
|
|
|
|
test "$defaultcaps" != "$droppedcaps"
|
|
|
|
fi
|
|
|
|
if test "$defaultcaps" == "$droppedcaps" ; then
|
|
|
|
test "$defaultcaps" != "$addedcaps"
|
|
|
|
fi
|
|
|
|
}
|
2018-07-30 23:54:15 +08:00
|
|
|
|
|
|
|
@test "Check if containers run with correct open files/processes limits" {
|
|
|
|
if ! which runc ; then
|
2019-04-02 05:56:29 +08:00
|
|
|
skip "no runc in PATH"
|
2018-07-30 23:54:15 +08:00
|
|
|
fi
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid awk '/open files/{print $4}' /proc/self/limits
|
|
|
|
is "$output" "1048576" "limits: open files (unlimited)"
|
|
|
|
run_buildah --debug=false run $cid awk '/processes/{print $3}' /proc/self/limits
|
|
|
|
is "$output" "1048576" "limits: processes (unlimited)"
|
2018-07-30 23:54:15 +08:00
|
|
|
buildah rm $cid
|
|
|
|
|
|
|
|
cid=$(buildah from --ulimit nofile=300:400 --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid awk '/open files/{print $4}' /proc/self/limits
|
|
|
|
is "$output" "300" "limits: open files (w/file limit)"
|
|
|
|
run_buildah --debug=false run $cid awk '/processes/{print $3}' /proc/self/limits
|
|
|
|
is "$output" "1048576" "limits: processes (w/file limit)"
|
2018-07-30 23:54:15 +08:00
|
|
|
buildah rm $cid
|
|
|
|
|
|
|
|
cid=$(buildah from --ulimit nproc=100:200 --ulimit nofile=300:400 --pull --signature-policy ${TESTSDIR}/policy.json alpine)
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid awk '/open files/{print $4}' /proc/self/limits
|
|
|
|
is "$output" "300" "limits: open files (w/file & proc limits)"
|
|
|
|
run_buildah --debug=false run $cid awk '/processes/{print $3}' /proc/self/limits
|
|
|
|
is "$output" "100" "limits: processes (w/file & proc limits)"
|
2018-07-30 23:54:15 +08:00
|
|
|
buildah rm $cid
|
|
|
|
}
|
2018-10-25 03:15:40 +08:00
|
|
|
|
|
|
|
@test "run-builtin-volume-omitted" {
|
|
|
|
# This image is known to include a volume, but not include the mountpoint
|
|
|
|
# in the image.
|
|
|
|
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json docker.io/library/registry@sha256:a25e4660ed5226bdb59a5e555083e08ded157b1218282840e55d25add0223390)
|
|
|
|
mnt=$(buildah mount $cid)
|
|
|
|
# By default, the mountpoint should not be there.
|
|
|
|
run test -d "$mnt"/var/lib/registry
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -ne 0 ]
|
|
|
|
# We'll create the mountpoint for "run".
|
2019-04-02 05:56:29 +08:00
|
|
|
run_buildah --debug=false run $cid ls -1 /var/lib
|
|
|
|
is "$output" ".*registry" "ls /var/lib"
|
|
|
|
|
2018-10-25 03:15:40 +08:00
|
|
|
# Double-check that the mountpoint is there.
|
2019-04-02 05:56:29 +08:00
|
|
|
test -d "$mnt"/var/lib/registry
|
2018-10-25 03:15:40 +08:00
|
|
|
}
|