diff options
author | Ed Santiago <santiago@redhat.com> | 2021-09-28 07:13:51 -0600 |
---|---|---|
committer | Ed Santiago <santiago@redhat.com> | 2021-09-30 13:32:51 -0600 |
commit | bf94ebf423931f6cd848126372fe558c8b956dcc (patch) | |
tree | dc585c17a1a41a80bd64407042e3a108d06b508e /test/system/120-load.bats | |
parent | ba72b17d28ff897d6721a227c615fcd511ca2e7a (diff) | |
download | podman-bf94ebf423931f6cd848126372fe558c8b956dcc.tar.gz podman-bf94ebf423931f6cd848126372fe558c8b956dcc.tar.bz2 podman-bf94ebf423931f6cd848126372fe558c8b956dcc.zip |
System tests: tighten 'is' operator
Fix day-one sloppiness: when I first wrote this framework
it compared strings using 'expr', not '=', to be more
forgiving of extra cruft in output. This was a bad decision.
It means that warnings or additional text are ignored:
is "all is ok, NOT!" "all is ok" <-- this would pass
Solution: tighten up the 'is' check. Use '=' (direct
compare) first. If it fails, look for wild cards ('*')
or character classes ('[') in the expect string. If
so, and only then, use 'expr'. And, thanks to a clever
suggestion from Luap99, include '(using expr)' in the
error message when we do so; this could make it easier
for a developer to understand a string mismatch.
This change exposes a lot of instances in which we weren't
doing proper comparisons. Fix those. Thankfully, there
weren't as many as I'd feared.
Also, and completely unrelated, add '-T' flag to bats
helper, for showing timing results. (I will open this
as a separate PR if requested. I too find it offensive
to jumble together unrelated commits.)
Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system/120-load.bats')
-rw-r--r-- | test/system/120-load.bats | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/system/120-load.bats b/test/system/120-load.bats index 8be9ed5c5..e9959271f 100644 --- a/test/system/120-load.bats +++ b/test/system/120-load.bats @@ -11,7 +11,7 @@ load helpers # initialize, read image ID and name get_iid_and_name() { run_podman images -a --format '{{.ID}} {{.Repository}}:{{.Tag}}' - read iid img_name < <(echo "$output") + read iid img_name <<<"$output" archive=$PODMAN_TMPDIR/myimage-$(random_string 8).tar } @@ -62,7 +62,7 @@ verify_iid_and_name() { # FIXME: cannot compare IID, see #7371, so we check only the tag run_podman images $fqin --format '{{.Repository}}:{{.Tag}}' - is "$output" "$fqin" "image preserves name across save/load" + is "${lines[0]}" "$fqin" "image preserves name across save/load" # Load with a new tag local new_name=x1$(random_string 14 | tr A-Z a-z) |