summaryrefslogtreecommitdiff
path: root/test/system/030-run.bats
diff options
context:
space:
mode:
authorEd Santiago <santiago@redhat.com>2021-09-28 07:13:51 -0600
committerEd Santiago <santiago@redhat.com>2021-09-30 13:32:51 -0600
commitbf94ebf423931f6cd848126372fe558c8b956dcc (patch)
treedc585c17a1a41a80bd64407042e3a108d06b508e /test/system/030-run.bats
parentba72b17d28ff897d6721a227c615fcd511ca2e7a (diff)
downloadpodman-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/030-run.bats')
-rw-r--r--test/system/030-run.bats8
1 files changed, 5 insertions, 3 deletions
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index 3d9d834b3..4080f08b4 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -517,7 +517,8 @@ json-file | f
cid="$output"
run_podman inspect --format "{{.ImageName}}" $cid
- is "$output" "$newtag" "container .ImageName is the container-create name"
+ is "$output" "$newtag:latest" \
+ "container .ImageName is the container-create name"
# Same thing, but now with a :tag, and making sure it works with --name
newtag2="${newtag}:$(random_string 6|tr A-Z a-z)"
@@ -526,7 +527,8 @@ json-file | f
cname="$(random_string 14|tr A-Z a-z)"
run_podman create --name $cname $newtag2
run_podman inspect --format "{{.ImageName}}" $cname
- is "$output" "$newtag2" "container .ImageName is the container-create name"
+ is "$output" "$newtag2" \
+ "container .ImageName is the container-create name, with :tag"
# Clean up.
run_podman rm $cid $cname
@@ -718,7 +720,7 @@ EOF
run_podman 125 run --device-cgroup-rule="b 7:2" --rm $IMAGE
is "$output" 'Error: invalid device cgroup rule requires type, major:Minor, and access rules: "b 7:2"'
run_podman 125 run --device-cgroup-rule="x 7:* rmw" --rm $IMAGE
- is "$output" "Error: invalid device type in device-access-add:"
+ is "$output" "Error: invalid device type in device-access-add: x"
run_podman 125 run --device-cgroup-rule="a a:* rmw" --rm $IMAGE
is "$output" "Error: strconv.ParseInt: parsing \"a\": invalid syntax"
}