On Fri, Feb 28, 2014 at 07:55:25AM +0100, Johannes Sixt wrote:
quoted
This should use test_i18ncmp, as the string you are matching is
internationalized.
More generally, stderr output shouldn't be tested with test_cmp or
test_i18ncmp at all, but with grep and test_i18ngrep. The reason is that
when you run the test with 'sh -x t3200* -v -i', the trace output is also
in stderr, and the test_cmp/test_i18ncmp fails due to the unexpected extra
text.
I didn't think we bothered to make "sh -x" work robustly. I don't mind
if we do, but "git grep -E 'test_(i18n)?cmp .*err" shows many potential
problem spots.
Hmm. Looks like it is only a problem if you are calling a shell function
(since it is the shell function's trace output you are seeing). So this
test would be OK as-is, but testing for an error, like:
test_must_fail git branch -u foo foo 2>stderr
would not be, because we see the trace from test_must_fail. So some of
the callsites found by my grep are actually probably fine.
-Peff