mirror of
https://github.com/containers/skopeo.git
synced 2026-02-21 14:42:42 +00:00
We can use "scratch" now as a source for building images, so speed things up a bit by using it instead of pulling alpine in tests where it isn't expected to affect the test result. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> Closes: #55 Approved by: rhatdan
98 lines
4.2 KiB
Bash
98 lines
4.2 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load helpers
|
|
|
|
@test "add-local-plain" {
|
|
createrandom ${TESTDIR}/randomfile
|
|
createrandom ${TESTDIR}/other-randomfile
|
|
|
|
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json scratch)
|
|
root=$(buildah mount $cid)
|
|
mkdir $root/subdir $root/other-subdir
|
|
# Copy a file to the working directory
|
|
buildah config --workingdir=/ $cid
|
|
buildah add $cid ${TESTDIR}/randomfile
|
|
# Copy a file to a specific subdirectory
|
|
buildah add $cid ${TESTDIR}/randomfile /subdir
|
|
# Copy two files to a specific subdirectory
|
|
buildah add $cid ${TESTDIR}/randomfile ${TESTDIR}/other-randomfile /other-subdir
|
|
# Copy two files to a specific location, which fails because it's not a directory.
|
|
run buildah add ${TESTDIR}/randomfile ${TESTDIR}/other-randomfile $cid /notthereyet-subdir
|
|
[ $status -ne 0 ]
|
|
run buildah add ${TESTDIR}/randomfile $cid ${TESTDIR}/other-randomfile /randomfile
|
|
[ $status -ne 0 ]
|
|
# Copy a file to a different working directory
|
|
buildah config --workingdir=/cwd $cid
|
|
buildah add $cid ${TESTDIR}/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
|
|
test -s $newroot/subdir/randomfile
|
|
cmp ${TESTDIR}/randomfile $newroot/subdir/randomfile
|
|
test -s $newroot/other-subdir/randomfile
|
|
cmp ${TESTDIR}/randomfile $newroot/other-subdir/randomfile
|
|
test -s $newroot/other-subdir/other-randomfile
|
|
cmp ${TESTDIR}/other-randomfile $newroot/other-subdir/other-randomfile
|
|
test -d $newroot/cwd
|
|
test -s $newroot/cwd/randomfile
|
|
cmp ${TESTDIR}/randomfile $newroot/cwd/randomfile
|
|
buildah rm $newcid
|
|
}
|
|
|
|
@test "add-local-archive" {
|
|
createrandom ${TESTDIR}/randomfile
|
|
createrandom ${TESTDIR}/other-randomfile
|
|
|
|
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json scratch)
|
|
root=$(buildah mount $cid)
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/random1
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/random2
|
|
tar -c -C ${TESTDIR} -f ${TESTDIR}/tarball1.tar random1 random2
|
|
mkdir ${TESTDIR}/tarball2
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/tarball2/tarball2.random1
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/tarball2/tarball2.random2
|
|
tar -c -C ${TESTDIR} -z -f ${TESTDIR}/tarball2.tar.gz tarball2
|
|
mkdir ${TESTDIR}/tarball3
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/tarball3/tarball3.random1
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/tarball3/tarball3.random2
|
|
tar -c -C ${TESTDIR} -j -f ${TESTDIR}/tarball3.tar.bz2 tarball3
|
|
mkdir ${TESTDIR}/tarball4
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/tarball4/tarball4.random1
|
|
dd if=/dev/urandom bs=1024 count=4 of=${TESTDIR}/tarball4/tarball4.random2
|
|
tar -c -C ${TESTDIR} -j -f ${TESTDIR}/tarball4.tar.bz2 tarball4
|
|
# Add the files to the working directory, which should extract them all.
|
|
buildah config --workingdir=/ $cid
|
|
buildah add $cid ${TESTDIR}/tarball1.tar
|
|
buildah add $cid ${TESTDIR}/tarball2.tar.gz
|
|
buildah add $cid ${TESTDIR}/tarball3.tar.bz2
|
|
buildah add $cid ${TESTDIR}/tarball4.tar.bz2
|
|
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/random1
|
|
cmp ${TESTDIR}/random1 $newroot/random1
|
|
test -s $newroot/random2
|
|
cmp ${TESTDIR}/random2 $newroot/random2
|
|
test -s $newroot/tarball2/tarball2.random1
|
|
cmp ${TESTDIR}/tarball2/tarball2.random1 $newroot/tarball2/tarball2.random1
|
|
test -s $newroot/tarball2/tarball2.random2
|
|
cmp ${TESTDIR}/tarball2/tarball2.random2 $newroot/tarball2/tarball2.random2
|
|
test -s $newroot/tarball3/tarball3.random1
|
|
cmp ${TESTDIR}/tarball3/tarball3.random1 $newroot/tarball3/tarball3.random1
|
|
test -s $newroot/tarball3/tarball3.random2
|
|
cmp ${TESTDIR}/tarball3/tarball3.random2 $newroot/tarball3/tarball3.random2
|
|
test -s $newroot/tarball4/tarball4.random1
|
|
cmp ${TESTDIR}/tarball4/tarball4.random1 $newroot/tarball4/tarball4.random1
|
|
test -s $newroot/tarball4/tarball4.random2
|
|
cmp ${TESTDIR}/tarball4/tarball4.random2 $newroot/tarball4/tarball4.random2
|
|
buildah rm $newcid
|
|
}
|