summaryrefslogtreecommitdiff
path: root/test/system/030-run.bats
diff options
context:
space:
mode:
authorEd Santiago <santiago@redhat.com>2020-06-24 10:36:17 -0600
committerMatthew Heon <mheon@redhat.com>2020-06-25 15:41:21 -0400
commit723a9e308f586b5c265ab5ca11f9932b98ce4243 (patch)
tree85c4d9e21ea960ccd18d9a6bad32bd80976c6e66 /test/system/030-run.bats
parent68543bbece77d4cc478d98e45fae8b6296a96a3a (diff)
downloadpodman-723a9e308f586b5c265ab5ca11f9932b98ce4243.tar.gz
podman-723a9e308f586b5c265ab5ca11f9932b98ce4243.tar.bz2
podman-723a9e308f586b5c265ab5ca11f9932b98ce4243.zip
Friendly amendment for pr 6751
More robust system test for podman run/create docker-archive Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system/030-run.bats')
-rw-r--r--test/system/030-run.bats42
1 files changed, 35 insertions, 7 deletions
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index 7eea6e159..c7a9bf191 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -190,16 +190,44 @@ echo $rand | 0 | $rand
}
@test "podman run docker-archive" {
- tmpdir=$PODMAN_TMPDIR/run-archive
- mkdir -p $tmpdir
- archive=$tmpdir/archive.tar
+ # Create an image that, when run, outputs a random magic string
+ expect=$(random_string 20)
+ run_podman run --name myc --entrypoint="[\"/bin/echo\",\"$expect\"]" $IMAGE
+ is "$output" "$expect" "podman run --entrypoint echo-randomstring"
+
+ # Save it as a tar archive
+ run_podman commit myc myi
+ archive=$PODMAN_TMPDIR/archive.tar
+ run_podman save myi -o $archive
+ is "$output" "" "podman save"
+
+ # Clean up image and container from container storage...
+ run_podman rmi myi
+ run_podman rm myc
+
+ # ... then confirm we can run from archive. This re-imports the image
+ # and runs it, producing our random string as the last line.
+ run_podman run docker-archive:$archive
+ is "${lines[0]}" "Getting image source signatures" "podman run docker-archive, first line of output"
+ is "$output" ".*Copying blob" "podman run docker-archive"
+ is "$output" ".*Copying config" "podman run docker-archive"
+ is "$output" ".*Writing manifest" "podman run docker-archive"
+ is "${lines[-1]}" "$expect" "podman run docker-archive: expected random string output"
+
+ # Clean up container as well as re-imported image
+ run_podman rm -a
+ run_podman rmi myi
- run_podman save $IMAGE -o $archive
+ # Repeat the above, with podman-create and podman-start.
+ run_podman create docker-archive:$archive
+ cid=${lines[-1]}
- run_podman run docker-archive:$archive ls
+ run_podman start --attach $cid
+ is "$output" "$expect" "'podman run' of 'podman-create docker-archive'"
- # Also make sure create eats the archive as well
- run_podman create docker-archive:$archive ls
+ # Clean up.
+ run_podman rm $cid
+ run_podman rmi myi
}
# vim: filetype=sh