mirror of
https://github.com/containers/podman
synced 2024-10-20 17:23:30 +00:00
dcb5c92c0d
If importing an archive via stdin write it to a temporary file such that the temporary file can be opened multiple times later on. Otherwise, we may end up with an empty image. Also fix a bug in the URL parsing code; we need to check whether there's actually a scheme. Add system tests for `podman import` exercising the basics. Fixes: #10994 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
46 lines
1.4 KiB
Bash
46 lines
1.4 KiB
Bash
#!/usr/bin/env bats -*- bats -*-
|
|
#
|
|
# tests for podman import
|
|
#
|
|
|
|
load helpers
|
|
|
|
@test "podman import" {
|
|
local archive=$PODMAN_TMPDIR/archive.tar
|
|
local random_content=$(random_string 12)
|
|
# Generate a random name and tag (must be lower-case)
|
|
local random_name=x0$(random_string 12 | tr A-Z a-z)
|
|
local random_tag=t0$(random_string 7 | tr A-Z a-z)
|
|
local fqin=localhost/$random_name:$random_tag
|
|
|
|
run_podman run --name import $IMAGE sh -c "echo ${random_content} > /random.txt"
|
|
run_podman export import -o $archive
|
|
run_podman rm -f import
|
|
|
|
# Simple import
|
|
run_podman import -q $archive
|
|
iid="$output"
|
|
run_podman run -t --rm $iid cat /random.txt
|
|
is "$output" "$random_content" "simple import"
|
|
run_podman rmi -f $iid
|
|
|
|
# Simple import via stdin
|
|
run_podman import -q - < <(cat $archive)
|
|
iid="$output"
|
|
run_podman run -t --rm $iid cat /random.txt
|
|
is "$output" "$random_content" "simple import via stdin"
|
|
run_podman rmi -f $iid
|
|
|
|
# Tagged import
|
|
run_podman import -q $archive $fqin
|
|
run_podman run -t --rm $fqin cat /random.txt
|
|
is "$output" "$random_content" "tagged import"
|
|
run_podman rmi -f $fqin
|
|
|
|
# Tagged import via stdin
|
|
run_podman import -q - $fqin < <(cat $archive)
|
|
run_podman run -t --rm $fqin cat /random.txt
|
|
is "$output" "$random_content" "tagged import via stdin"
|
|
run_podman rmi -f $fqin
|
|
}
|