diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2020-10-03 06:56:42 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2020-10-15 09:51:15 -0400 |
commit | 22c8270135620bbbeb988076378173e452ec04af (patch) | |
tree | 656db8df0719d224b830acdefdb08019b1b61db6 /test/system | |
parent | a1d5a518d3e9db785b7f15e07c679b9ae041ccae (diff) | |
download | podman-22c8270135620bbbeb988076378173e452ec04af.tar.gz podman-22c8270135620bbbeb988076378173e452ec04af.tar.bz2 podman-22c8270135620bbbeb988076378173e452ec04af.zip |
fix podman container exists and diff for storage containers
Current these commands only check if a container exists in libpod. With
this fix, the commands will also check if they are in containers/storage.
This allows users to look at differences within a buildah or CRI-O container.
Currently buildah diff does not exists, so this helps out in that situation
as well as in CRI-O since the cri does not implement a diff command.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'test/system')
-rw-r--r-- | test/system/030-run.bats | 17 | ||||
-rw-r--r-- | test/system/140-diff.bats | 22 |
2 files changed, 39 insertions, 0 deletions
diff --git a/test/system/030-run.bats b/test/system/030-run.bats index 28dc7c7a7..a82743c70 100644 --- a/test/system/030-run.bats +++ b/test/system/030-run.bats @@ -460,4 +460,21 @@ json-file | f is "$output" "$expect" "podman run with --tz=local, matches host" } +@test "podman container exists" { + rand=$(random_string 30) + run_podman 1 container exists myctr + + run_podman create --name myctr $IMAGE /bin/true + run_podman container exists myctr + + # Create a container that podman does not know about + run buildah from $IMAGE + cid="$output" + + # exists should succeed + run_podman container exists $cid + + run buildah rm $cid +} + # vim: filetype=sh diff --git a/test/system/140-diff.bats b/test/system/140-diff.bats index 01ec5430e..d0f33e438 100644 --- a/test/system/140-diff.bats +++ b/test/system/140-diff.bats @@ -32,4 +32,26 @@ load helpers run_podman rm $n } +@test "podman diff with buildah container " { + rand_file=$(random_string 10) + run buildah from --name buildahctr $IMAGE + run buildah run buildahctr sh -c "touch /$rand_file;rm /etc/services" + + run_podman diff --format json buildahctr + + # Expected results for each type of diff + declare -A expect=( + [added]="/$rand_file" + [changed]="/etc" + [deleted]="/etc/services" + ) + + for field in ${!expect[@]}; do + result=$(jq -r -c ".${field}[]" <<<"$output") + is "$result" "${expect[$field]}" "$field" + done + + run buildah rm buildahctr +} + # vim: filetype=sh |