#!/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 alpine --pull --signature-policy ${TESTSDIR}/policy.json --name i-love-naming-things) 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 [ "$output" == "" ] }