diff options
| author | Junio C Hamano <gitster@pobox.com> | 2010-11-24 15:51:49 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2010-11-24 15:51:49 -0800 |
| commit | b3ff808b714fd8fc5e4d2770720398e5dc7d27f9 (patch) | |
| tree | 3db88ef171d6fcae53d0edf714fb280134be3baf /t/t0000-basic.sh | |
| parent | Merge branch 'maint' (diff) | |
| parent | t4124 (apply --whitespace): use test_might_fail (diff) | |
| download | git-b3ff808b714fd8fc5e4d2770720398e5dc7d27f9.tar.gz git-b3ff808b714fd8fc5e4d2770720398e5dc7d27f9.zip | |
Merge branch 'en/and-cascade-tests'
* en/and-cascade-tests: (25 commits)
t4124 (apply --whitespace): use test_might_fail
t3404: do not use 'describe' to implement test_cmp_rev
t3404 (rebase -i): introduce helper to check position of HEAD
t3404 (rebase -i): move comment to description
t3404 (rebase -i): unroll test_commit loops
t3301 (notes): use test_expect_code for clarity
t1400 (update-ref): use test_must_fail
t1502 (rev-parse --parseopt): test exit code from "-h"
t6022 (renaming merge): chain test commands with &&
test-lib: introduce test_line_count to measure files
tests: add missing &&, batch 2
tests: add missing &&
Introduce sane_unset and use it to ensure proper && chaining
t7800 (difftool): add missing &&
t7601 (merge-pull-config): add missing &&
t7001 (mv): add missing &&
t6016 (rev-list-graph-simplify-history): add missing &&
t5602 (clone-remote-exec): add missing &&
t4026 (color): remove unneeded and unchained command
t4019 (diff-wserror): add lots of missing &&
...
Conflicts:
t/t7006-pager.sh
Diffstat (limited to 't/t0000-basic.sh')
| -rwxr-xr-x | t/t0000-basic.sh | 55 |
1 files changed, 45 insertions, 10 deletions
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh index f688bd3ef5..2f7002a5e5 100755 --- a/t/t0000-basic.sh +++ b/t/t0000-basic.sh @@ -130,22 +130,57 @@ test_expect_success 'tests clean up after themselves' ' test_when_finished clean=yes ' -cleaner=no -test_expect_code 1 'tests clean up even after a failure' ' - test_when_finished cleaner=yes && - (exit 1) -' - -if test $clean$cleaner != yesyes +if test $clean != yes then - say "bug in test framework: cleanup commands do not work reliably" + say "bug in test framework: basic cleanup command does not work reliably" exit 1 fi -test_expect_code 2 'failure to clean up causes the test to fail' ' - test_when_finished "(exit 2)" +test_expect_success 'tests clean up even on failures' " + mkdir failing-cleanup && + (cd failing-cleanup && + cat >failing-cleanup.sh <<EOF && +#!$SHELL_PATH + +test_description='Failing tests with cleanup commands' + +# Point to the t/test-lib.sh, which isn't in ../ as usual +TEST_DIRECTORY=\"$TEST_DIRECTORY\" +. \"\$TEST_DIRECTORY\"/test-lib.sh + +test_expect_success 'tests clean up even after a failure' ' + touch clean-after-failure && + test_when_finished rm clean-after-failure && + (exit 1) +' + +test_expect_success 'failure to clean up causes the test to fail' ' + test_when_finished \"(exit 2)\" ' +test_done +EOF + chmod +x failing-cleanup.sh && + test_must_fail ./failing-cleanup.sh >out 2>err && + ! test -s err && + ! test -f \"trash directory.failing-cleanup/clean-after-failure\" && +sed -e 's/Z$//' >expect <<\EOF && +not ok - 1 tests clean up even after a failure +# Z +# touch clean-after-failure && +# test_when_finished rm clean-after-failure && +# (exit 1) +# Z +not ok - 2 failure to clean up causes the test to fail +# Z +# test_when_finished \"(exit 2)\" +# Z +# failed 2 among 2 test(s) +1..2 +EOF + test_cmp expect out) +" + ################################################################ # Basics of the basics |
