Files
skopeo/tests/basic.bats
Daniel J Walsh b75bf0a5b3 Currently buildah run is not handling command options correctly
This patch will allow commands like

buildah run $ctr ls -lZ /

To work correctly.

Need to update vendor of urfave cli.

Also changed all commands to no longer accept global options after the COMMAND.
Single boolean options can now be passed together.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #493
Approved by: rhatdan
2018-02-27 12:08:45 +00:00

116 lines
4.1 KiB
Bash

#!/usr/bin/env bats
load helpers
@test "from" {
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
buildah rm $cid
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json scratch)
buildah rm $cid
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json --name i-love-naming-things alpine)
buildah rm i-love-naming-things
}
@test "from-defaultpull" {
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json alpine)
buildah rm $cid
}
@test "from-scratch" {
cid=$(buildah from --pull=false --signature-policy ${TESTSDIR}/policy.json scratch)
buildah rm $cid
cid=$(buildah from --pull=true --signature-policy ${TESTSDIR}/policy.json scratch)
buildah rm $cid
}
@test "from-nopull" {
run buildah from --pull=false --signature-policy ${TESTSDIR}/policy.json alpine
[ "$status" -eq 1 ]
}
@test "mount" {
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json scratch)
root=$(buildah mount $cid)
buildah unmount $cid
root=$(buildah mount $cid)
touch $root/foobar
buildah unmount $cid
buildah rm $cid
}
@test "by-name" {
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json --name scratch-working-image-for-test scratch)
root=$(buildah mount scratch-working-image-for-test)
buildah unmount scratch-working-image-for-test
buildah rm scratch-working-image-for-test
}
@test "commit" {
createrandom ${TESTDIR}/randomfile
createrandom ${TESTDIR}/other-randomfile
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json scratch)
root=$(buildah mount $cid)
cp ${TESTDIR}/randomfile $root/randomfile
buildah unmount $cid
buildah commit --signature-policy ${TESTSDIR}/policy.json $cid containers-storage:new-image
buildah rm $cid
newcid=$(buildah from new-image)
newroot=$(buildah mount $newcid)
test -s $newroot/randomfile
cmp ${TESTDIR}/randomfile $newroot/randomfile
cp ${TESTDIR}/other-randomfile $newroot/other-randomfile
buildah commit --signature-policy ${TESTSDIR}/policy.json $newcid containers-storage:other-new-image
# Not an allowed ordering of arguments and flags. Check that it's rejected.
run buildah commit $newcid --signature-policy ${TESTSDIR}/policy.json containers-storage:rejected-new-image
[ "$status" -eq 1 ]
buildah commit --signature-policy ${TESTSDIR}/policy.json $newcid containers-storage:another-new-image
buildah commit --signature-policy ${TESTSDIR}/policy.json $newcid yet-another-new-image
buildah commit --signature-policy ${TESTSDIR}/policy.json $newcid containers-storage:gratuitous-new-image
buildah unmount $newcid
buildah rm $newcid
othernewcid=$(buildah from other-new-image)
othernewroot=$(buildah mount $othernewcid)
test -s $othernewroot/randomfile
cmp ${TESTDIR}/randomfile $othernewroot/randomfile
test -s $othernewroot/other-randomfile
cmp ${TESTDIR}/other-randomfile $othernewroot/other-randomfile
buildah rm $othernewcid
anothernewcid=$(buildah from another-new-image)
anothernewroot=$(buildah mount $anothernewcid)
test -s $anothernewroot/randomfile
cmp ${TESTDIR}/randomfile $anothernewroot/randomfile
test -s $anothernewroot/other-randomfile
cmp ${TESTDIR}/other-randomfile $anothernewroot/other-randomfile
buildah rm $anothernewcid
yetanothernewcid=$(buildah from yet-another-new-image)
yetanothernewroot=$(buildah mount $yetanothernewcid)
test -s $yetanothernewroot/randomfile
cmp ${TESTDIR}/randomfile $yetanothernewroot/randomfile
test -s $yetanothernewroot/other-randomfile
cmp ${TESTDIR}/other-randomfile $yetanothernewroot/other-randomfile
buildah delete $yetanothernewcid
newcid=$(buildah from new-image)
buildah commit --rm --signature-policy ${TESTSDIR}/policy.json $newcid containers-storage:remove-container-image
run buildah mount $newcid
[ "$status" -ne 0 ]
buildah rmi remove-container-image
buildah rmi containers-storage:other-new-image
buildah rmi another-new-image
run buildah --debug=false images -q
[ "$status" -eq 0 ]
[ "$output" != "" ]
for id in $output ; do
buildah rmi $id
done
run buildah --debug=false images -q
[ "$status" -eq 0 ]
[ "$output" == "" ]
}