test-lib: turn off "-x" tracing during chain-lint check
commit2a01ef8ca31ab1cb889485ba8d9a20c7ba7ab54f
authorJeff King <peff@peff.net>
Thu, 6 Aug 2015 05:31:47 +0000 (6 01:31 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Aug 2015 18:50:28 +0000 (7 11:50 -0700)
treeb4220bb8abfbd3deef190ca2825065b1321820c4
parent92b269f5c5e5c1d51e9318003caf8ae9d076b4e9
test-lib: turn off "-x" tracing during chain-lint check

Now that GIT_TEST_CHAIN_LINT is on by default, running:

    ./t0000-basic.sh -x --verbose-only=1

starts with:

    expecting success:
            find .git/objects -type f -print >should-be-empty &&
            test_line_count = 0 should-be-empty

    + exit 117
    error: last command exited with $?=117
    + find .git/objects -type f -print
    + test_line_count = 0 should-be-empty
    + test 3 != 3
    + wc -l
    + test 0 = 0
    ok 1 - .git/objects should be empty after git init in an empty repo

This is confusing, as the "exit 117" line and the error line
(which is printed in red, no less!) are not part of the test
at all, but are rather in the separate chain-lint test_eval.
Let's unset the "trace" variable when eval-ing the chain
lint check, which avoids this.

Note that we cannot just do a one-shot variable like:

    trace= test_eval ...

as the behavior of one-shot variables for function calls
is not portable.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh