 832c68b3c2
			
		
	
	832c68b3c2
	
	
	
		
			
			There are quite a few tests which print an error messages and then explicitly signal failure with `false`, `return 1`, or `exit 1` as the final command in an `if` branch. In these cases, the tests don't bother maintaining the &&-chain between `echo` and the explicit "test failed" indicator. Since such constructs are manually signaling failure, their &&-chain breakage is legitimate and safe -- both for the command immediately preceding `false`, `return`, or `exit`, as well as for all preceding commands in the `if` branch. Therefore, stop flagging &&-chain breakage in these sorts of cases. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			20 lines
		
	
	
		
			385 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			385 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| case "$(git ls-files)" in
 | |
| one ) echo pass one ;;
 | |
| * ) echo bad one ; return 1 ;;
 | |
| esac &&
 | |
| (
 | |
| 	case "$(git ls-files)" in
 | |
| 	two ) echo pass two ;;
 | |
| 	* ) echo bad two ; exit 1 ;;
 | |
| esac
 | |
| ) &&
 | |
| case "$(git ls-files)" in
 | |
| dir/two"$LF"one ) echo pass both ;;
 | |
| * ) echo bad ; return 1 ;;
 | |
| esac &&
 | |
| 
 | |
| for i in 1 2 3 4 ; do
 | |
| 	git checkout main -b $i || return $?
 | |
| 	test_commit $i $i $i tag$i || return $?
 | |
| done
 |