diff options
author | Ed Santiago <santiago@redhat.com> | 2019-03-05 09:58:30 -0700 |
---|---|---|
committer | Ed Santiago <santiago@redhat.com> | 2019-03-07 14:09:00 -0700 |
commit | 589248d2f359dea73fc763ac587e2927f005b300 (patch) | |
tree | 089364b57364c0d77d1afac4d0193915a221371a /test/system/015-help.bats | |
parent | 681eae9bcc856f8dad107765a97c29d0fe093d4a (diff) | |
download | podman-589248d2f359dea73fc763ac587e2927f005b300.tar.gz podman-589248d2f359dea73fc763ac587e2927f005b300.tar.bz2 podman-589248d2f359dea73fc763ac587e2927f005b300.zip |
Implement review feedback
- document a recommended convention for fail-fast tests
- document the requirement for jq. (And, add a fail-fast
test for its presence; remove the duplicated checks
in subtests)
- add further sanity checks to 'help' test. Add missing
documentation. Remove a no-longer-needed workaround for
usage-message bug fixed in #2486
- add a documented TEMPLATE
- and, since we're at 1.1, enable 'Remote API' check in
version test
- better diagnostics in setup/teardown; add vim filetype hint;
better formatting of actual-vs-expect errors
- new pod-top, logs, build tests
- improve error messages
- add $IMAGE alias for ridiculous $PODMAN_TEST_IMAGE_FQN
- final cleanup, in prep for merge
Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system/015-help.bats')
-rw-r--r-- | test/system/015-help.bats | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/test/system/015-help.bats b/test/system/015-help.bats index ac737908d..b648599f7 100644 --- a/test/system/015-help.bats +++ b/test/system/015-help.bats @@ -24,23 +24,26 @@ function podman_commands() { function check_help() { - count=0 + local count=0 + local subcommands_found=0 + for cmd in $(podman_commands "$@"); do dprint "podman $@ $cmd --help" run_podman "$@" $cmd --help - # FIXME FIXME FIXME - usage=$(echo "$output" | grep -A2 '^Usage:' | grep . | tail -1) - # dprint "$usage" + # The line immediately after 'Usage:' gives us a 1-line synopsis + usage=$(echo "$output" | grep -A1 '^Usage:' | tail -1) [ -n "$usage" ] || die "podman $cmd: no Usage message found" - # if ends in '[command]', recurse into subcommands + # If usage ends in '[command]', recurse into subcommands if expr "$usage" : '.*\[command\]$' >/dev/null; then + subcommands_found=$(expr $subcommands_found + 1) check_help "$@" $cmd continue fi - # if ends in '[flag]' FIXME + # If usage ends in '[flag]', command takes no more arguments. + # Confirm that by running with 'invalid-arg' and expecting failure. if expr "$usage" : '.*\[flags\]$' >/dev/null; then if [ "$cmd" != "help" ]; then run_podman 125 "$@" $cmd invalid-arg @@ -52,11 +55,22 @@ function check_help() { count=$(expr $count + 1) done + # This can happen if the output of --help changes, such as between + # the old command parser and cobra. [ $count -gt 0 ] || \ die "Internal error: no commands found in 'podman help $@' list" + + # At least the top level must have some subcommands + if [ -z "$*" -a $subcommands_found -eq 0 ]; then + die "Internal error: did not find any podman subcommands" + fi } @test "podman help - basic tests" { + # Called with no args -- start with 'podman --help'. check_help() will + # recurse for any subcommands. check_help } + +# vim: filetype=sh |