On Tue, Feb 13, 2018 at 01:36:01AM +0100, SZEDER Gábor wrote:
> 'git for-each-ref' should error out when invoked with more than one
> quoting style options. The tests checking this have two issues:
> - They run 'git for-each-ref' upstream of a pipe, hiding its exit
> code, thus don't actually checking that 'git for-each-ref' exits
> with error code.
> - They check the error message in a rather roundabout way.
> Ensure that 'git for-each-ref' exits with an error code using the
> 'test_must_fail' helper function, and check its error message by
> grepping its saved standard error.
Yeah, this looks much nicer than the original.
> for i in "--perl --shell" "-s --python" "--python --tcl" "--tcl --perl"; do
> test_expect_success "more than one quoting style: $i" "
> - git for-each-ref $i 2>&1 | (read line &&
> - case \$line in
> - \"error: more than one quoting style\"*) : happy;;
> - *) false
> - esac)
> + test_must_fail git for-each-ref $i 2>err &&
> + grep '^error: more than one quoting style' err
I suspect in the long run this ought to be test_i18ngrep, but since it's
not localized yet, it makes sense to stop here with this patch.