This test manually checks the exit code of git-grep for a particular value. In doing so, it breaks the &&-chain. An upcoming change will teach --chain-lint to check the &&-chain inside subshells, so this manual exit code handling will run afoul of the &&-chain check. Therefore, replace the manual handling with test_expect_code() and a normal &&-chain. Signed-off-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> --- t/t7810-grep.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index 1797f632a3..fecee602c1 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -845,10 +845,9 @@ test_expect_success 'grep from a subdirectory to search wider area (1)' ' test_expect_success 'grep from a subdirectory to search wider area (2)' ' mkdir -p s && ( - cd s || exit 1 - ( git grep xxyyzz .. >out ; echo $? >status ) - ! test -s out && - test 1 = $(cat status) + cd s && + test_expect_code 1 git grep xxyyzz .. >out && + ! test -s out ) ' -- 2.18.0.419.gfe4b301394