git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: "Zbigniew Jędrzejewski-Szmek" <zbyszek@in.waw.pl>
Cc: git@vger.kernel.org, gitster@pobox.com
Subject: Re: [PATCH 1/2] t0303: set reason for skipping tests
Date: Mon, 12 Mar 2012 08:30:31 -0400	[thread overview]
Message-ID: <20120312123031.GA14456@sigill.intra.peff.net> (raw)
In-Reply-To: <1331553907-19576-2-git-send-email-zbyszek@in.waw.pl>

On Mon, Mar 12, 2012 at 01:05:06PM +0100, Zbigniew Jędrzejewski-Szmek wrote:

> t0300-credential-helpers.sh runs two sets of tests. Each set is
> controlled by an environment variable and is skipped if the variable
> is not defined. If both sets are skipped, prove will say:
>   ./t0303-credential-external.sh .. skipped: (no reason given)
> which isn't very nice.
> 
> Use skip_all="..." to set the reason when both sets are skipped.

Sounds reasonable. A few nits:

>  if test -z "$GIT_TEST_CREDENTIAL_HELPER"; then
> -	say "# skipping external helper tests (set GIT_TEST_CREDENTIAL_HELPER)"
> +	say "# skipping external helper tests (GIT_TEST_CREDENTIAL_HELPER not set)"
>  else
> [...]
>  if test -z "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"; then
> -	say "# skipping external helper timeout tests"
> +	say "# skipping external helper timeout tests (GIT_TEST_CREDENTIAL_HELPER_TIMEOUT not set)"

These don't affect prove at all, do they? I'm OK with the changes, but I
was confused to see them after reading the commit message.

Should they actually say "# SKIP ..." to tell prove what's going on? I
don't know very much about TAP.

> +if test -z "$GIT_TEST_CREDENTIAL_HELPER" \
> +    -o -z "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"; then
> +    skip_all="used to test external credential helpers"
> +fi

Actually, I think it is not OK to run t0303 with HELPER_TIMEOUT set, but
HELPER not set. The "helper_test_clean" bits will fail badly. The
documentation given in the commit message is actually wrong (I added the
clean bits to the patch later, and failed to realize the dependency or
update the commit message).

Also, our usual idiom is to check the prerequisites at the top of the
script and bail immediately.

So maybe the whole script should be restructured as:

  if test -z "$GIT_TEST_CREDENTIAL_HELPER"; then
          skip_all="GIT_TEST_CREDENTIAL_HELPER not set"
          test_done
  fi

  pre_test
  helper_test "$GIT_TEST_CREDENTIAL_HELPER"
  if test -z "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"; then
          say "# skipping timeout tests (GIT_TEST_CREDENTIAL_HELPER_TIMEOUT not set)"
  else
          helper_test_timeout "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"
  fi
  post_test

-Peff

  reply	other threads:[~2012-03-12 12:31 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-12 12:05 [PATCH 0/2] prettify t0303-credential-helpers.sh Zbigniew Jędrzejewski-Szmek
2012-03-12 12:05 ` [PATCH 1/2] t0303: set reason for skipping tests Zbigniew Jędrzejewski-Szmek
2012-03-12 12:30   ` Jeff King [this message]
2012-03-12 21:07     ` Zbigniew Jędrzejewski-Szmek
2012-03-13 21:53       ` Jeff King
2012-03-14 14:14         ` Zbigniew Jędrzejewski-Szmek
2012-03-14 14:18           ` [PATCH v2 1/2] t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER Zbigniew Jędrzejewski-Szmek
2012-03-14 14:18             ` [PATCH v2 2/2] t0303: resurrect commit message as test documentation Zbigniew Jędrzejewski-Szmek
2012-03-14 22:17             ` [PATCH v2 1/2] t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER Junio C Hamano
2012-03-15  3:54               ` Jeff King
2012-03-15  6:55                 ` Junio C Hamano
2012-03-15 10:44                   ` Zbigniew Jędrzejewski-Szmek
2012-03-15 11:08                     ` [PATCH v3 " Zbigniew Jędrzejewski-Szmek
2012-03-15 11:08                       ` [PATCH v3 2/2] t0303: resurrect commit message as test documentation Zbigniew Jędrzejewski-Szmek
2012-03-15 17:51                       ` [PATCH v3 1/2] t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER Junio C Hamano
2012-03-15 13:24                   ` [PATCH v2 " Jeff King
2012-03-15 13:26                     ` Jeff King
2012-03-15 17:50                       ` Junio C Hamano
2012-03-15  3:56             ` Jeff King
2012-03-12 12:05 ` [PATCH 2/2] t0303: resurrect commit message as test documentation Zbigniew Jędrzejewski-Szmek
2012-03-12 12:31   ` Jeff King
2012-03-12 20:43   ` Jonathan Nieder
2012-03-13 21:38     ` 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=20120312123031.GA14456@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=zbyszek@in.waw.pl \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).