Browse Source
Usually, the usage should be shown only if the user does not know what options are available. If the user specifies an invalid value, the user is already aware of the available options. In this case, there is no point in displaying the usage anymore. This patch applies to "git tag --contains", "git branch --contains", "git branch --points-at", "git for-each-ref --contains" and many more. Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
Paul-Sebastian Ungureanu
7 years ago
committed by
Junio C Hamano
8 changed files with 125 additions and 14 deletions
@ -0,0 +1,107 @@
@@ -0,0 +1,107 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='Test commands behavior when given invalid argument value' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success 'setup ' ' |
||||
test_commit "v1.0" |
||||
' |
||||
|
||||
test_expect_success 'tag --contains <existent_tag>' ' |
||||
git tag --contains "v1.0" >actual 2>actual.err && |
||||
grep "v1.0" actual && |
||||
test_line_count = 0 actual.err |
||||
' |
||||
|
||||
test_expect_success 'tag --contains <inexistent_tag>' ' |
||||
test_must_fail git tag --contains "notag" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "error" actual.err && |
||||
test_i18ngrep ! "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'tag --no-contains <existent_tag>' ' |
||||
git tag --no-contains "v1.0" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_line_count = 0 actual.err |
||||
' |
||||
|
||||
test_expect_success 'tag --no-contains <inexistent_tag>' ' |
||||
test_must_fail git tag --no-contains "notag" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "error" actual.err && |
||||
test_i18ngrep ! "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'tag usage error' ' |
||||
test_must_fail git tag --noopt >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'branch --contains <existent_commit>' ' |
||||
git branch --contains "master" >actual 2>actual.err && |
||||
test_i18ngrep "master" actual && |
||||
test_line_count = 0 actual.err |
||||
' |
||||
|
||||
test_expect_success 'branch --contains <inexistent_commit>' ' |
||||
test_must_fail git branch --no-contains "nocommit" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "error" actual.err && |
||||
test_i18ngrep ! "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'branch --no-contains <existent_commit>' ' |
||||
git branch --no-contains "master" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_line_count = 0 actual.err |
||||
' |
||||
|
||||
test_expect_success 'branch --no-contains <inexistent_commit>' ' |
||||
test_must_fail git branch --no-contains "nocommit" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "error" actual.err && |
||||
test_i18ngrep ! "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'branch usage error' ' |
||||
test_must_fail git branch --noopt >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'for-each-ref --contains <existent_object>' ' |
||||
git for-each-ref --contains "master" >actual 2>actual.err && |
||||
test_line_count = 2 actual && |
||||
test_line_count = 0 actual.err |
||||
' |
||||
|
||||
test_expect_success 'for-each-ref --contains <inexistent_object>' ' |
||||
test_must_fail git for-each-ref --no-contains "noobject" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "error" actual.err && |
||||
test_i18ngrep ! "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'for-each-ref --no-contains <existent_object>' ' |
||||
git for-each-ref --no-contains "master" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_line_count = 0 actual.err |
||||
' |
||||
|
||||
test_expect_success 'for-each-ref --no-contains <inexistent_object>' ' |
||||
test_must_fail git for-each-ref --no-contains "noobject" >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "error" actual.err && |
||||
test_i18ngrep ! "usage" actual.err |
||||
' |
||||
|
||||
test_expect_success 'for-each-ref usage error' ' |
||||
test_must_fail git for-each-ref --noopt >actual 2>actual.err && |
||||
test_line_count = 0 actual && |
||||
test_i18ngrep "usage" actual.err |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue