diff options
author | Ed Santiago <santiago@redhat.com> | 2020-10-12 08:45:39 -0600 |
---|---|---|
committer | Ed Santiago <santiago@redhat.com> | 2020-10-12 08:45:39 -0600 |
commit | b2e6e4829f0b39d289d15df6f375e56cb3ba4bb5 (patch) | |
tree | c5588dfaa7186a0a8b21a281e43503da94d94a73 /test/apiv2/test-apiv2 | |
parent | 212011f166d6f56421fcc5260def999e71156d32 (diff) | |
download | podman-b2e6e4829f0b39d289d15df6f375e56cb3ba4bb5.tar.gz podman-b2e6e4829f0b39d289d15df6f375e56cb3ba4bb5.tar.bz2 podman-b2e6e4829f0b39d289d15df6f375e56cb3ba4bb5.zip |
APIv2 tests: get them passing again
In the new-Cirrus transition, APIv2 tests were inadvertently
disabled. As expected when tests get disabled, they break.
This commit fixes some failing tests, and comments out others
(with big FIXMEs) because I have neither the expertise nor
time to figure out the real problems.
The big change to test-apiv2 is due to a recently-added
test that looks for an '=' sign in json output. My '=' vs '~'
detector completely barfed on that, and there's just no
way to make it work in a bash 'case' statement. So, switch
to an 'if' with 'expr'.
And, unrelated, fix a longstanding (harmless) bug that was
issuing spurious "expected" messages to the test log; those
should've been going to the full results log.
Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/apiv2/test-apiv2')
-rwxr-xr-x | test/apiv2/test-apiv2 | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/test/apiv2/test-apiv2 b/test/apiv2/test-apiv2 index 2f01783ff..e9b5f245c 100755 --- a/test/apiv2/test-apiv2 +++ b/test/apiv2/test-apiv2 @@ -125,7 +125,7 @@ function _show_ok() { echo -e "${red}# actual: ${bold}$actual${reset}" echo "not ok $count ${TEST_CONTEXT} $testname" >>$LOG - echo " expected: $expect" + echo " expected: $expect" >>$LOG _bump $failures_file } @@ -242,26 +242,22 @@ function t() { local i for i; do - case "$i" in + if expr "$i" : "[^=~]\+=.*" >/dev/null; then # Exact match on json field - *=*) - json_field=$(expr "$i" : "\([^=]*\)=") - expect=$(expr "$i" : '[^=]*=\(.*\)') - actual=$(jq -r "$json_field" <<<"$output") - is "$actual" "$expect" "$testname : $json_field" - ;; + json_field=$(expr "$i" : "\([^=]*\)=") + expect=$(expr "$i" : '[^=]*=\(.*\)') + actual=$(jq -r "$json_field" <<<"$output") + is "$actual" "$expect" "$testname : $json_field" + elif expr "$i" : "[^=~]\+~.*" >/dev/null; then # regex match on json field - *~*) - json_field=$(expr "$i" : "\([^~]*\)~") - expect=$(expr "$i" : '[^~]*~\(.*\)') - actual=$(jq -r "$json_field" <<<"$output") - like "$actual" "$expect" "$testname : $json_field" - ;; + json_field=$(expr "$i" : "\([^~]*\)~") + expect=$(expr "$i" : '[^~]*~\(.*\)') + actual=$(jq -r "$json_field" <<<"$output") + like "$actual" "$expect" "$testname : $json_field" + else # Direct string comparison - *) - is "$output" "$i" "$testname : output" - ;; - esac + is "$output" "$i" "$testname : output" + fi done } |