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/520-checkpoint.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/520-checkpoint.bats')
-rw-r--r-- | test/system/520-checkpoint.bats | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/test/system/520-checkpoint.bats b/test/system/520-checkpoint.bats index 046dfd126..941f12e34 100644 --- a/test/system/520-checkpoint.bats +++ b/test/system/520-checkpoint.bats @@ -79,9 +79,8 @@ function teardown() { # Get full logs, and make sure something changed run_podman logs $cid local nlines_after="${#lines[*]}" - if [[ $nlines_after -eq $nlines_before ]]; then - die "Container failed to output new lines after first restore" - fi + assert $nlines_after -gt $nlines_before \ + "Container failed to output new lines after first restore" # Same thing again: test for https://github.com/containers/crun/issues/756 # in which, after second checkpoint/restore, we lose logs @@ -95,9 +94,8 @@ function teardown() { sleep 0.3 run_podman container logs $cid nlines_after="${#lines[*]}" - if [[ $nlines_after -eq $nlines_before ]]; then - die "stdout went away after second restore (crun issue 756)" - fi + assert $nlines_after -gt $nlines_before \ + "stdout went away after second restore (crun issue 756)" run_podman rm -t 0 -f $cid } @@ -159,9 +157,8 @@ function teardown() { sleep .3 run curl --max-time 3 -s $server/mydate local date_newroot="$output" - if [[ $date_newroot = $date_oldroot ]]; then - die "Restored container did not update the timestamp file" - fi + assert "$date_newroot" != "$date_oldroot" \ + "Restored container did not update the timestamp file" run_podman exec $cid cat /myvol/cname is "$output" "$cname" "volume transferred fine" |