 3bb0923f06
			
		
	
	3bb0923f06
	
	
	
		
			
			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>
		
			
				
	
	
		
			108 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |