Files
skopeo/tests/copy.bats
Daniel J Walsh a6f7d725a0 Add/Copy need to support glob syntax
This patch allows users to do
buildah add $ctr * /dest

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

Closes: #194
Approved by: nalind
2017-07-17 20:11:48 +00:00

114 lines
3.9 KiB
Bash

#!/usr/bin/env bats
load helpers
@test "copy-local-multiple" {
createrandom ${TESTDIR}/randomfile
createrandom ${TESTDIR}/other-randomfile
createrandom ${TESTDIR}/third-randomfile
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json scratch)
root=$(buildah mount $cid)
buildah config --workingdir / $cid
buildah copy $cid ${TESTDIR}/randomfile
run buildah copy $cid ${TESTDIR}/other-randomfile ${TESTDIR}/third-randomfile ${TESTDIR}/randomfile
[ "$status" -eq 1 ]
buildah rm $cid
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
root=$(buildah mount $cid)
buildah config --workingdir / $cid
buildah copy $cid ${TESTDIR}/randomfile
buildah copy $cid ${TESTDIR}/other-randomfile ${TESTDIR}/third-randomfile ${TESTDIR}/randomfile /etc
buildah rm $cid
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json alpine)
root=$(buildah mount $cid)
buildah config --workingdir / $cid
buildah copy $cid "${TESTDIR}/*randomfile" /etc
(cd ${TESTDIR}; for i in *randomfile; do cmp $i ${root}/etc/$i; done)
buildah rm $cid
}
@test "copy-local-plain" {
createrandom ${TESTDIR}/randomfile
createrandom ${TESTDIR}/other-randomfile
createrandom ${TESTDIR}/third-randomfile
cid=$(buildah from --pull --signature-policy ${TESTSDIR}/policy.json scratch)
root=$(buildah mount $cid)
buildah config --workingdir / $cid
buildah copy $cid ${TESTDIR}/randomfile
buildah copy $cid ${TESTDIR}/other-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/other-randomfile
cmp ${TESTDIR}/other-randomfile $newroot/other-randomfile
buildah rm $newcid
}
@test "copy-local-subdirectory" {
mkdir -p ${TESTDIR}/subdir
createrandom ${TESTDIR}/subdir/randomfile
createrandom ${TESTDIR}/subdir/other-randomfile
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json scratch)
buildah config --workingdir /container-subdir $cid
buildah copy $cid ${TESTDIR}/subdir
root=$(buildah mount $cid)
test -s $root/container-subdir/randomfile
cmp ${TESTDIR}/subdir/randomfile $root/container-subdir/randomfile
test -s $root/container-subdir/other-randomfile
cmp ${TESTDIR}/subdir/other-randomfile $root/container-subdir/other-randomfile
buildah copy $cid ${TESTDIR}/subdir /other-subdir
test -s $root/other-subdir/randomfile
cmp ${TESTDIR}/subdir/randomfile $root/other-subdir/randomfile
test -s $root/other-subdir/other-randomfile
cmp ${TESTDIR}/subdir/other-randomfile $root/other-subdir/other-randomfile
buildah rm $cid
}
@test "copy-local-force-directory" {
createrandom ${TESTDIR}/randomfile
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json scratch)
buildah config --workingdir / $cid
buildah copy $cid ${TESTDIR}/randomfile /randomfile
root=$(buildah mount $cid)
test -s $root/randomfile
cmp ${TESTDIR}/randomfile $root/randomfile
buildah rm $cid
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json scratch)
buildah config --workingdir / $cid
buildah copy $cid ${TESTDIR}/randomfile /randomsubdir/
root=$(buildah mount $cid)
test -s $root/randomsubdir/randomfile
cmp ${TESTDIR}/randomfile $root/randomsubdir/randomfile
buildah rm $cid
}
@test "copy-url-mtime" {
createrandom ${TESTDIR}/randomfile
cid=$(buildah from --signature-policy ${TESTSDIR}/policy.json scratch)
buildah config --workingdir / $cid
starthttpd ${TESTDIR}
buildah copy $cid http://0.0.0.0:${HTTP_SERVER_PORT}/randomfile /urlfile
stophttpd
root=$(buildah mount $cid)
test -s $root/urlfile
cmp ${TESTDIR}/randomfile $root/urlfile
run test -nt ${TESTDIR}/randomfile $root/urlfile
[ "$status" -ne 0 ]
run test -ot ${TESTDIR}/randomfile $root/urlfile
[ "$status" -ne 0 ]
buildah rm $cid
}