Re: [PATCH] t6300-for-each-ref: fix "more than one quoting style" tests
On Thu, Feb 15, 2018 at 5:52 PM, Jeff Kingwrote: > On Thu, Feb 15, 2018 at 05:39:28PM +0100, SZEDER Gábor wrote: > >> On Tue, Feb 13, 2018 at 11:22 PM, Jeff King wrote: >> >> >> 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. >> >> I thought 'git for-each-ref' is plumbing and that means that it >> shouldn't be localized. > > I always assumed stderr was mostly fair game, even for plumbing. At any > rate, I'm willing to ignore the issue until somebody actually proposes a > patch to translate it. Ah, OK, will keep that in mind. Anyway, the first GETTEXT_POISON build will fail if that error string ever gets translated but the test doesn't get updated.
Re: [PATCH] t6300-for-each-ref: fix "more than one quoting style" tests
On Thu, Feb 15, 2018 at 05:39:28PM +0100, SZEDER Gábor wrote: > On Tue, Feb 13, 2018 at 11:22 PM, Jeff Kingwrote: > > >> 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. > > I thought 'git for-each-ref' is plumbing and that means that it > shouldn't be localized. I always assumed stderr was mostly fair game, even for plumbing. At any rate, I'm willing to ignore the issue until somebody actually proposes a patch to translate it. -Peff
Re: [PATCH] t6300-for-each-ref: fix "more than one quoting style" tests
On Tue, Feb 13, 2018 at 11:22 PM, Jeff Kingwrote: >> 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. I thought 'git for-each-ref' is plumbing and that means that it shouldn't be localized.
Re: [PATCH] t6300-for-each-ref: fix "more than one quoting style" tests
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. -Peff
[PATCH] t6300-for-each-ref: fix "more than one quoting style" tests
'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. Signed-off-by: SZEDER Gábor--- Those tests were like this since ancient times, c9ecf4f12a (for-each-ref: Fix quoting style constants., 2007-12-06). t/t6300-for-each-ref.sh | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index c128dfc579..295d1475bd 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -373,11 +373,8 @@ test_expect_success 'Quoting style: tcl' ' 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 " done -- 2.16.1.181.g4b60b0bfb6