Merge branch 'jk/test-framework-updates'

The basic test used to leave unnecessary trash directories in the
t/ directory.

* jk/test-framework-updates:
  t0000: drop "known breakage" test
  t0000: simplify HARNESS_ACTIVE hack
  t0000: set TEST_OUTPUT_DIRECTORY for sub-tests
This commit is contained in:
Junio C Hamano 2014-01-10 10:33:34 -08:00
commit f0f493ec58
2 changed files with 7 additions and 14 deletions

View File

@ -41,20 +41,17 @@ test_expect_success '.git/objects should have 3 subdirectories' '
test_expect_success 'success is reported like this' ' test_expect_success 'success is reported like this' '
: :
' '
test_expect_failure 'pretend we have a known breakage' '
false
'
run_sub_test_lib_test () { run_sub_test_lib_test () {
name="$1" descr="$2" # stdin is the body of the test code name="$1" descr="$2" # stdin is the body of the test code
shift 2 shift 2
mkdir "$name" && mkdir "$name" &&
( (
# Pretend we're a test harness. This prevents # Pretend we're not running under a test harness, whether we
# test-lib from writing the counts to a file that will # are or not. The test-lib output depends on the setting of
# later be summarized, showing spurious "failed" tests # this variable, so we need a stable setting under which to run
HARNESS_ACTIVE=t && # the sub-test.
export HARNESS_ACTIVE && sane_unset HARNESS_ACTIVE &&
cd "$name" && cd "$name" &&
cat >"$name.sh" <<-EOF && cat >"$name.sh" <<-EOF &&
#!$SHELL_PATH #!$SHELL_PATH
@ -71,6 +68,8 @@ run_sub_test_lib_test () {
cat >>"$name.sh" && cat >>"$name.sh" &&
chmod +x "$name.sh" && chmod +x "$name.sh" &&
export TEST_DIRECTORY && export TEST_DIRECTORY &&
TEST_OUTPUT_DIRECTORY=$(pwd) &&
export TEST_OUTPUT_DIRECTORY &&
./"$name.sh" "$@" >out 2>err ./"$name.sh" "$@" >out 2>err
) )
} }
@ -233,16 +232,13 @@ test_expect_success 'test --verbose' '
grep -v "^Initialized empty" test-verbose/out+ >test-verbose/out && grep -v "^Initialized empty" test-verbose/out+ >test-verbose/out &&
check_sub_test_lib_test test-verbose <<-\EOF check_sub_test_lib_test test-verbose <<-\EOF
> expecting success: true > expecting success: true
> Z
> ok 1 - passing test > ok 1 - passing test
> Z > Z
> expecting success: echo foo > expecting success: echo foo
> foo > foo
> Z
> ok 2 - test with output > ok 2 - test with output
> Z > Z
> expecting success: false > expecting success: false
> Z
> not ok 3 - failing test > not ok 3 - failing test
> # false > # false
> Z > Z
@ -265,7 +261,6 @@ test_expect_success 'test --verbose-only' '
> Z > Z
> expecting success: echo foo > expecting success: echo foo
> foo > foo
> Z
> ok 2 - test with output > ok 2 - test with output
> Z > Z
> not ok 3 - failing test > not ok 3 - failing test

View File

@ -481,8 +481,6 @@ test_at_end_hook_ () {
test_done () { test_done () {
GIT_EXIT_OK=t GIT_EXIT_OK=t
# Note: t0000 relies on $HARNESS_ACTIVE disabling the .counts
# output file
if test -z "$HARNESS_ACTIVE" if test -z "$HARNESS_ACTIVE"
then then
test_results_dir="$TEST_OUTPUT_DIRECTORY/test-results" test_results_dir="$TEST_OUTPUT_DIRECTORY/test-results"