Tests which interrogate the exact underlying behavior of the code under test, instead of checking for the presence of desired side effects or calls, are a known testing antipattern. They are flaky as they need to be updated every time the underlying implementation changes. By using 'grep --fixed-strings --file <expect>' instead, we can check for the positive presence of lines we are sure should be happening, and ignore any additional things which may be happening around us (for example, additional child processes which are occurring unrelated to the code under test). Signed-off-by: Emily Shaffer <emilyshaffer@xxxxxxxxxx> --- t/t1510-repo-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t1510-repo-setup.sh b/t/t1510-repo-setup.sh index bbfe05b8e4..8bd4f54d03 100755 --- a/t/t1510-repo-setup.sh +++ b/t/t1510-repo-setup.sh @@ -63,7 +63,7 @@ test_repo () { rm -f trace && GIT_TRACE_SETUP="$(pwd)/trace" git symbolic-ref HEAD >/dev/null && grep '^setup: ' trace >result && - test_cmp expected result + grep -Ff expected result ) } -- 2.31.1.498.g6c1eba8ee3d-goog