git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 4/4] t/t0000-basic.sh: Run the passing TODO test inside its own test-lib

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 18, 2010, 13:34 UTC
Message-ID
<1282138473-15613-5-git-send-email-avarab@gmail.com>
In-Reply-To
<7vpqxhaw92.fsf@alter.siamese.dyndns.org>

Change the passing TODO test in t0000-basic.sh to run inside its own test-lib.sh. The motivation is to have nothing out of the ordinary on a normal test run for test smoking purposes.

If every normal test run has a passing TODO you're more likely to turn a blind eye to it and not to investigate cases where things really are passing unexpectedly.

It also makes the prove(1) output less noisy. Before:
    All tests successful.
    Test Summary Report
    -------------------
    ./t0000-basic.sh                                   (Wstat: 0 Tests: 46 Failed: 0)
      TODO passed:   5
    Files=484, Tests=6229, 143 wallclock secs ( 4.00 usr  4.15 sys + 104.77 cusr 351.57 csys = 464.49 CPU)
    Result: PASS
And after:
    All tests successful.
    Files=484, Tests=6228, 139 wallclock secs ( 4.07 usr  4.25 sys + 104.54 cusr 350.85 csys = 463.71 CPU)
    Result: PASS
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t0000-basic.sh |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index 9602085..1a977db 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -54,9 +54,40 @@ test_expect_success 'success is reported like this' '
 test_expect_failure 'pretend we have a known breakage' '
     false
 '
+
+test_expect_success 'pretend we have fixed a known breakage (run in sub test-lib)' "
+    mkdir passing-todo &&
+    (cd passing-todo &&
+    cat >passing-todo.sh <<EOF &&
+#!/bin/sh
+
+test_description='A passing TODO test
+
+This is run in a sub test-lib so that we don't get incorrect passing
+metrics
+'
+
+# Point to the t/test-lib.sh, which isn't in ../ as usual
+TEST_DIRECTORY=\"$TEST_DIRECTORY\"
+. \"\$TEST_DIRECTORY\"/test-lib.sh
+
 test_expect_failure 'pretend we have fixed a known breakage' '
     :
 '
+
+test_done
+EOF
+    chmod +x passing-todo.sh &&
+    ./passing-todo.sh >out 2>err &&
+    ! test -s err &&
+cat >expect <<EOF &&
+ok 1 - pretend we have fixed a known breakage # TODO known breakage
+# fixed 1 known breakage(s)
+# passed all 1 test(s)
+1..1
+EOF
+    test_cmp expect out)
+"
 test_set_prereq HAVEIT
 haveit=no
 test_expect_success HAVEIT 'test runs if prerequisite is satisfied' '
-- 
1.7.2.1.414.g9bf49
Previous: Ævar Arnfjörð BjarmasonNext: Sverre Rabbelier
Message 19 of 20 in “t/t0000-basic.sh: Don't run a passing TODO unless TEST_PASSING_TODO=1”
  1. t/t0000-basic.sh: Don't run a passing TODO unless TEST_PASSING_TODO=1Ævar Arnfjörð Bjarmason, Aug 17, 2010
  2. Sverre RabbelierAug 17, 2010
  3. Junio C HamanoAug 17, 2010
  4. 0/4 Support for running tests outside t/ + don't run a TODO testÆvar Arnfjörð Bjarmason, Aug 18, 2010
  5. 0/4 Support for running tests outside t/ + don't run a TODO testÆvar Arnfjörð Bjarmason, Aug 19, 2010
  6. 1/4 test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../Ævar Arnfjörð Bjarmason, Aug 19, 2010
  7. 2/4 test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../Ævar Arnfjörð Bjarmason, Aug 19, 2010
  8. 3/4 test-lib: Allow overriding of TEST_DIRECTORYÆvar Arnfjörð Bjarmason, Aug 19, 2010
  9. 4/4 t/t0000-basic.sh: Run the passing TODO test inside its own test-libÆvar Arnfjörð Bjarmason, Aug 19, 2010
  10. 0/4 Support for running tests outside t/ + don't run a TODO testÆvar Arnfjörð Bjarmason, Aug 19, 2010
  11. Jeff KingAug 19, 2010
  12. 1/4 test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../Ævar Arnfjörð Bjarmason, Aug 19, 2010
  13. 2/4 test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../Ævar Arnfjörð Bjarmason, Aug 19, 2010
  14. 3/4 test-lib: Allow overriding of TEST_DIRECTORYÆvar Arnfjörð Bjarmason, Aug 19, 2010
  15. 4/4 t/t0000-basic.sh: Run the passing TODO test inside its own test-libÆvar Arnfjörð Bjarmason, Aug 19, 2010
  16. 1/4 test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../Ævar Arnfjörð Bjarmason, Aug 18, 2010
  17. 2/4 test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../Ævar Arnfjörð Bjarmason, Aug 18, 2010
  18. 3/4 test-lib: Allow overriding of TEST_DIRECTORYÆvar Arnfjörð Bjarmason, Aug 18, 2010
  19. 4/4 t/t0000-basic.sh: Run the passing TODO test inside its own test-libÆvar Arnfjörð Bjarmason, Aug 18, 2010
  20. Sverre RabbelierAug 19, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.