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

[PATCH 3/3] t/README: Document the predefined test prerequisites

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 6, 2010, 21:19 UTC
Message-ID
<1281129565-26124-4-git-send-email-avarab@gmail.com>
In-Reply-To
<1281129565-26124-1-git-send-email-avarab@gmail.com>

The README for the test library suggested that you grep the test-lib.sh for test_set_prereq to see what the preset prerequisites were.

Remove that bit, and write a section explaining all the preset prerequisites. Most of the text was lifted from from Junio C Hamano and Johannes Sixt, See the "Tests in Cygwin" thread in May 2009 for the originals:

    http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118385
    http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118434
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/README |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/t/README b/t/README
index d07b67a..dc07939 100644
--- a/t/README
+++ b/t/README
@@ -410,11 +410,12 @@ library for your script to use.
  - test_set_prereq SOME_PREREQ
 
    Set a test prerequisite to be used later with test_have_prereq. The
-   test-lib will set some prerequisites for you, e.g. PERL and PYTHON
-   which are derived from ./GIT-BUILD-OPTIONS (grep test_set_prereq
-   test-lib.sh for more). Others you can set yourself and use later
-   with either test_have_prereq directly, or the three argument
-   invocation of test_expect_success and test_expect_failure.
+   test-lib will set some prerequisites for you, see the
+   "Prerequisites" section below for a full list of these.
+
+   Others you can set yourself and use later with either
+   test_have_prereq directly, or the three argument invocation of
+   test_expect_success and test_expect_failure.
 
  - test_have_prereq SOME PREREQ
 
@@ -487,6 +488,40 @@ library for your script to use.
 		...
 	'
 
+Prerequisites
+-------------
+
+These are the prerequisites that the test library predefines with
+test_have_prereq.
+
+See the prereq argument to the test_* functions in the "Test harness
+library" section above and the "test_have_prereq" function for how to
+use these, and "test_set_prereq" for how to define your own.
+
+ - PERL & PYTHON
+
+   Git wasn't compiled with NO_PERL=YesPlease or
+   NO_PYTHON=YesPlease. Wrap any tests that need Perl or Python in
+   these.
+
+ - POSIXPERM
+
+   The filesystem supports POSIX style permission bits.
+
+ - BSLASHPSPEC
+
+   Backslashes in pathspec are not directory separators. This is not
+   set on Windows. See 6fd1106a for details.
+
+ - EXECKEEPSPID
+
+   The process retains the same pid across exec(2). See fb9a2bea for
+   details.
+
+ - SYMLINKS
+
+   The filesystem we're on supports symbolic links. E.g. a FAT
+   filesystem doesn't support these. See 704a3143 for details.
 
 Tips for Writing Tests
 ----------------------
-- 
1.7.1
Previous: Ævar Arnfjörð Bjarmason
Message 8 of 8 in “tests: Better prerequisite handling & documentation”
  1. 0/3 tests: Better prerequisite handling & documentationÆvar Arnfjörð Bjarmason, Aug 6, 2010
  2. 1/3 test-lib: Add support for multiple test prerequisitesÆvar Arnfjörð Bjarmason, Aug 6, 2010
  3. Jonathan NiederAug 8, 2010
  4. Jonathan NiederAug 8, 2010
  5. Johannes SixtAug 8, 2010
  6. Ævar Arnfjörð BjarmasonAug 8, 2010
  7. 2/3 test-lib: Print missing prerequisites in test outputÆvar Arnfjörð Bjarmason, Aug 6, 2010
  8. 3/3 t/README: Document the predefined test prerequisitesÆvar Arnfjörð Bjarmason, Aug 6, 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.