t0000: simplify HARNESS_ACTIVE hack
authorJeff King <peff@peff.net>
Sat, 28 Dec 2013 09:31:49 +0000 (04:31 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 2 Jan 2014 22:43:11 +0000 (14:43 -0800)
Commit 517cd55 set HARNESS_ACTIVE unconditionally in
sub-tests, because that value affects the output of
"--verbose". t0000 needs stable output from its sub-tests,
and we may or may not be running under a TAP harness.

That commit made the decision to always set the variable,
since it has another useful side effect, which is
suppressing writes to t/test-results by the sub-tests (which
would just pollute the real results).

Since the last commit, though, the sub-tests have their own
test-results directories, so this is no longer an issue. We
can now update a few comments that are no longer accurate
nor necessary.

We can also revisit the choice of HARNESS_ACTIVE. Since we
must choose one value for stability, it's probably saner to
have it off. This means that future patches could test
things like the test-results writing, or the "--quiet"
option, which is currently ignored when run under a harness.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0000-basic.sh
t/test-lib.sh
index bc4e3e27b555ca1d71e8ff3b98f2220066527336..e6c5b6383914c5010c36c3dc058e9216925777b1 100755 (executable)
@@ -50,11 +50,11 @@ run_sub_test_lib_test () {
        shift 2
        mkdir "$name" &&
        (
-               # Pretend we're a test harness.  This prevents
-               # test-lib from writing the counts to a file that will
-               # later be summarized, showing spurious "failed" tests
-               HARNESS_ACTIVE=t &&
-               export HARNESS_ACTIVE &&
+               # Pretend we're not running under a test harness, whether we
+               # are or not. The test-lib output depends on the setting of
+               # this variable, so we need a stable setting under which to run
+               # the sub-test.
+               sane_unset HARNESS_ACTIVE &&
                cd "$name" &&
                cat >"$name.sh" <<-EOF &&
                #!$SHELL_PATH
@@ -235,16 +235,13 @@ test_expect_success 'test --verbose' '
        grep -v "^Initialized empty" test-verbose/out+ >test-verbose/out &&
        check_sub_test_lib_test test-verbose <<-\EOF
        > expecting success: true
-       > Z
        > ok 1 - passing test
        > Z
        > expecting success: echo foo
        > foo
-       > Z
        > ok 2 - test with output
        > Z
        > expecting success: false
-       > Z
        > not ok 3 - failing test
        > #     false
        > Z
@@ -267,7 +264,6 @@ test_expect_success 'test --verbose-only' '
        > Z
        > expecting success: echo foo
        > foo
-       > Z
        > ok 2 - test with output
        > Z
        > not ok 3 - failing test
index b25249ec4cc2844f5cd7491dd5fcc88c884ff450..f54a77c2928641b1f70d06e9ea0c7b984777d365 100644 (file)
@@ -477,8 +477,6 @@ test_at_end_hook_ () {
 test_done () {
        GIT_EXIT_OK=t
 
-       # Note: t0000 relies on $HARNESS_ACTIVE disabling the .counts
-       # output file
        if test -z "$HARNESS_ACTIVE"
        then
                test_results_dir="$TEST_OUTPUT_DIRECTORY/test-results"