diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-06-25 08:33:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-25 08:33:39 -0400 |
commit | f8036c548c0a6d34cc063949cf5f9add22409d9d (patch) | |
tree | 48d84e34aee191cf803f14ef48df81b08eff271e /test/system/015-help.bats | |
parent | cd36499d10a21ef1429d7ce84d845d8627ebcf6e (diff) | |
parent | c6090c290e1eb8b60148a026773c5f8cce6eb435 (diff) | |
download | podman-f8036c548c0a6d34cc063949cf5f9add22409d9d.tar.gz podman-f8036c548c0a6d34cc063949cf5f9add22409d9d.tar.bz2 podman-f8036c548c0a6d34cc063949cf5f9add22409d9d.zip |
Merge pull request #6754 from edsantiago/man_page_xref
Docs: consistency between man / --help
Diffstat (limited to 'test/system/015-help.bats')
-rw-r--r-- | test/system/015-help.bats | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/test/system/015-help.bats b/test/system/015-help.bats index 14af8e1a4..3d05b44fe 100644 --- a/test/system/015-help.bats +++ b/test/system/015-help.bats @@ -34,13 +34,16 @@ function check_help() { dprint "$command_string --help" run_podman "$@" $cmd --help + local full_help="$output" # The line immediately after 'Usage:' gives us a 1-line synopsis - usage=$(echo "$output" | grep -A1 '^Usage:' | tail -1) + usage=$(echo "$full_help" | grep -A1 '^Usage:' | tail -1) [ -n "$usage" ] || die "podman $cmd: no Usage message found" # e.g. 'podman ps' should not show 'podman container ps' in usage - is "$usage" " $command_string .*" "Usage string matches command" + # Trailing space in usage handles 'podman system renumber' which + # has no ' [flags]' + is "$usage " " $command_string .*" "Usage string matches command" # If usage ends in '[command]', recurse into subcommands if expr "$usage" : '.*\[command\]$' >/dev/null; then @@ -59,6 +62,17 @@ function check_help() { die "'flags' must precede arguments in usage: $usage" fi + # Cross-check: if usage includes '[flags]', there must be a + # longer 'Flags:' section in the full --help output; vice-versa, + # if 'Flags:' is in full output, usage line must have '[flags]'. + if expr "$usage" : '.*\[flag' >/dev/null; then + if ! expr "$full_help" : ".*Flags:" >/dev/null; then + die "$command_string: Usage includes '[flags]' but has no 'Flags:' subsection" + fi + elif expr "$full_help" : ".*Flags:" >/dev/null; then + die "$command_string: --help has 'Flags:' section but no '[flags]' in synopsis" + fi + # If usage lists no arguments (strings in ALL CAPS), confirm # by running with 'invalid-arg' and expecting failure. if ! expr "$usage" : '.*[A-Z]' >/dev/null; then |