buildah/tests/basic.bats

96 lines
3.8 KiB
Plaintext
Raw Normal View History

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