Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: >> for r in $revs >> do >> git show -s --pretty=oneline "$r" >raw && >> - cat raw | lf_to_nul || exit 1 >> + cat raw | lf_to_nul || return 1 >> done >expect && > > Using `return 1` here is "obviously correct" since this code is not > inside a subshell. While it is safe and correct, I wonder if test_expect_success can be made a bit smarter by somehow capturing what happens inside its body. We of course cannot just wrap everything inside a subshell, as we do want to allow the test body to affect the shell environment it is running in with its side effects.