diff options
author | Ed Santiago <santiago@redhat.com> | 2020-06-24 10:36:17 -0600 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2020-06-25 15:41:21 -0400 |
commit | 723a9e308f586b5c265ab5ca11f9932b98ce4243 (patch) | |
tree | 85c4d9e21ea960ccd18d9a6bad32bd80976c6e66 /test/system/030-run.bats | |
parent | 68543bbece77d4cc478d98e45fae8b6296a96a3a (diff) | |
download | podman-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.bats | 42 |
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 |