"Phillip Wood via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > > Clean up some test constructs in preparation for extending the tests > in the next commit. There are three small changes, I've grouped them > together as they're so small it didn't seem worth creating three > separate commits. > 1 - "cat file | sed expression" is better written as > "sed expression file". > 2 - Follow our usual practice of redirecting the output of git > commands to a file rather than piping it into another command. > 3 - Use test_write_lines rather than 'printf "%s\n"'. All good points. Somehow people seem to forget "do not cat a single file into a pipe". > @@ -373,9 +373,9 @@ test_expect_success 'setup expected' ' > test_expect_success 'add first line works' ' > git commit -am "clear local changes" && > git apply patch && > - printf "%s\n" s y y | git add -p file 2>error | > - sed -n -e "s/^([1-2]\/[1-2]) Stage this hunk[^@]*\(@@ .*\)/\1/" \ > - -e "/^[-+@ \\\\]"/p >output && > + test_write_lines s y y | git add -p file 2>error >raw-output && > + sed -n -e "s/^([1-2]\/[1-2]) Stage this hunk[^@]*\(@@ .*\)/\1/" \ > + -e "/^[-+@ \\\\]"/p raw-output >output && Looks good. Thanks.