diff options
author | Ed Santiago <santiago@redhat.com> | 2022-04-20 08:13:31 -0600 |
---|---|---|
committer | Ed Santiago <santiago@redhat.com> | 2022-04-20 16:14:42 -0600 |
commit | 97ee4114655a9442a34130632c47eea5861ca73b (patch) | |
tree | 74e1d2b2b700c1db6def8cdcfd6e5b84e5d30e79 /test/system/200-pod.bats | |
parent | 6250667aa1c1057f77b1f5c19af2015006eb1af5 (diff) | |
download | podman-97ee4114655a9442a34130632c47eea5861ca73b.tar.gz podman-97ee4114655a9442a34130632c47eea5861ca73b.tar.bz2 podman-97ee4114655a9442a34130632c47eea5861ca73b.zip |
system tests: add assert(), and start using it
Problem: the system test 'is()' checker was poorly thought out.
For example, there is no way to check for inequality or for
absence of a substring.
Solution, step 1: introduce new assert(), copied almost verbatim
from buildah, where it has been successful in addressing the
gaps in is().
The logical next step is to search the tests for 'die' and
for 'run', looking for negative assertions which we can
replace with assert(). There were a lot, and in the process
I found a number of ugly bugs in the tests themselves. I've
taken the liberty of fixing these.
Important note: at this time we have both assert() and is().
Replacing all instances of is() would be impossible to review.
Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system/200-pod.bats')
-rw-r--r-- | test/system/200-pod.bats | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/test/system/200-pod.bats b/test/system/200-pod.bats index e6f4ecdbc..1db92a4cc 100644 --- a/test/system/200-pod.bats +++ b/test/system/200-pod.bats @@ -59,7 +59,7 @@ function teardown() { skip_if_remote "CONTAINERS_CONF only effects server side" image="i.do/not/exist:image" tmpdir=$PODMAN_TMPDIR/pod-test - run mkdir -p $tmpdir + mkdir -p $tmpdir containersconf=$tmpdir/containers.conf cat >$containersconf <<EOF [engine] @@ -86,9 +86,7 @@ EOF # (Assert that output is formatted, not a one-line blob: #8021) run_podman pod inspect $podname - if [[ "${#lines[*]}" -lt 10 ]]; then - die "Output from 'pod inspect' is only ${#lines[*]} lines; see #8011" - fi + assert "${#lines[*]}" -ge 10 "Output from 'pod inspect'; see #8011" # Randomly-assigned port in the 5xxx range port=$(random_free_port) @@ -322,10 +320,11 @@ EOF run_podman --noout pod create --name $pod_name --infra-name "$infra_name" --infra-image "$infra_image" is "$output" "" "output from pod create should be empty" - run_podman '?' pod create --infra-name "$infra_name" - if [ $status -eq 0 ]; then - die "Podman should fail when user try to create two pods with the same infra-name value" - fi + + run_podman 125 pod create --infra-name "$infra_name" + assert "$output" =~ "^Error: .*: the container name \"$infra_name\" is already in use by .* You have to remove that container to be able to reuse that name.: that name is already in use" \ + "Trying to create two pods with same infra-name" + run_podman pod rm -f $pod_name run_podman rmi $infra_image } |