All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2 4/8] t/README: Document the prereq functions, and 3-arg test_*
Date: Thu,  1 Jul 2010 20:17:54 +0000	[thread overview]
Message-ID: <1278015478-6920-5-git-send-email-avarab@gmail.com> (raw)
In-Reply-To: <1278015478-6920-1-git-send-email-avarab@gmail.com>

There was no documentation for the test_set_prereq and
test_have_prereq functions, or the three-arg form of
test_expect_success and test_expect_failure.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/README |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/t/README b/t/README
index 1d0fd18..2df56a8 100644
--- a/t/README
+++ b/t/README
@@ -246,9 +246,9 @@ Test harness library
 There are a handful helper functions defined in the test harness
 library for your script to use.
 
- - test_expect_success <message> <script>
+ - test_expect_success [<prereq>] <message> <script>
 
-   This takes two strings as parameter, and evaluates the
+   Usually takes two strings as parameter, and evaluates the
    <script>.  If it yields success, test is considered
    successful.  <message> should state what it is testing.
 
@@ -258,7 +258,14 @@ library for your script to use.
 	    'git-write-tree should be able to write an empty tree.' \
 	    'tree=$(git-write-tree)'
 
- - test_expect_failure <message> <script>
+   If you supply three parameters the first will be taken to be a
+   prerequisite, see the test_set_prereq and test_have_prereq
+   documentation below:
+
+	test_expect_success TTY 'git --paginate rev-list uses a pager' \
+	    ' ... '
+
+ - test_expect_failure [<prereq>] <message> <script>
 
    This is NOT the opposite of test_expect_success, but is used
    to mark a test that demonstrates a known breakage.  Unlike
@@ -267,6 +274,9 @@ library for your script to use.
    success and "still broken" on failure.  Failures from these
    tests won't cause -i (immediate) to stop.
 
+   Like test_expect_success this function can optionally use a three
+   argument invocation with a prerequisite as the first argument.
+
  - test_debug <script>
 
    This takes a single argument, <script>, and evaluates it only
@@ -299,6 +309,27 @@ library for your script to use.
    Merges the given rev using the given message.  Like test_commit,
    creates a tag and calls test_tick before committing.
 
+ - 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_have_prereq SOME PREREQ
+
+   Check if we have a prerequisite previously set with
+   test_set_prereq. The most common use of this directly is to skip
+   all the tests if we don't have some essential prerequisite:
+
+	if ! test_have_prereq PERL
+	then
+	    skip_all='skipping perl interface tests, perl not available'
+	    test_done
+	fi
+
 Tips for Writing Tests
 ----------------------
 
-- 
1.7.1.251.g92a7

  parent reply	other threads:[~2010-07-01 20:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-01 20:17 [PATCH v2 0/8] Improvements for t/README Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` [PATCH v2 1/8] t/README: Tests are all +x, ./test, not sh ./test Ævar Arnfjörð Bjarmason
2010-07-01 23:54   ` Junio C Hamano
2010-07-02  1:00     ` Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` [PATCH v2 2/8] t/README: The trash is in 't/trash directory.$name' Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` [PATCH v2 3/8] t/README: Typo: paralell -> parallel Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` Ævar Arnfjörð Bjarmason [this message]
2010-07-01 20:17 ` [PATCH v2 5/8] t/README: Document test_external* Ævar Arnfjörð Bjarmason
2010-07-01 20:52   ` Jakub Narebski
2010-07-01 21:18     ` [PATCH v3 " Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` [PATCH v2 6/8] t/README: Document test_expect_code Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` [PATCH v2 7/8] t/README: Add a section about skipping tests Ævar Arnfjörð Bjarmason
2010-07-01 20:17 ` [PATCH v2 8/8] t/README: Document the do's and don'ts of tests Ævar Arnfjörð Bjarmason
2010-07-02  7:28 ` [PATCH v2 0/8] Improvements for t/README Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1278015478-6920-5-git-send-email-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.