Re: [PATCH 2/4] Make t1300-repo-config resilient to being run via 'sh -x'
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 22, 2016, 18:01 UTC
- Message-ID
- <xmqq7fguie7t.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <b4df45088aa68d8410895f66a814dd6780e2e451.1458668543.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 10 quoted lines
> One of this developer's primary tools to diagnose broken regression > tests is to run the test script using 'sh -x t... -i -v' to find out > *which* call *actually* demonstrates the symptom. > > Hence it is pretty counterproductive if the test script behaves > differently when being run via 'sh -x', in particular when using > test_cmp or test_i18ncmp on redirected stderr. > > So let's use grep instead of test_cmp/test_i18ncmp to verify that stderr > looks as expected.
In the modern world, I would probably described the problem as "tXXXX -i -v -x", though, not "sh -x tXXXX", but they both exhibit the same symptom.
I wonder if "tXXXX -i -v -x" can be made not to contaminate the standard error stream of the test, but that would be a larger change we probably would not have time for 2.8 final anyway.
Will queue. Thanks.
Show 30 quoted lines
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > t/t1300-repo-config.sh | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh > index 8867ce1..0236fe2 100755 > --- a/t/t1300-repo-config.sh > +++ b/t/t1300-repo-config.sh > @@ -699,17 +699,13 @@ test_expect_success 'invalid unit' ' > echo 1auto >expect && > git config aninvalid.unit >actual && > test_cmp expect actual && > - cat >expect <<-\EOF && > - fatal: bad numeric config value '\''1auto'\'' for '\''aninvalid.unit'\'' in file .git/config: invalid unit > - EOF > test_must_fail git config --int --get aninvalid.unit 2>actual && > - test_i18ncmp expect actual > + grep "^fatal: bad numeric config value .1auto. for .aninvalid.unit. in file .git/config: invalid unit$" actual > ' > > test_expect_success 'invalid stdin config' ' > - echo "fatal: bad config line 1 in standard input " >expect && > echo "[broken" | test_must_fail git config --list --file - >output 2>&1 && > - test_cmp expect output > + grep "^fatal: bad config line 1 in standard input $" output > ' > > cat > expect << EOF