Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] t9001: Fix test prerequisites

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:18

"Robin H. Johnson" [off-list ref] writes:
Add in missing Perl prerequisites for new tests of send-email.

Signed-off-by: Robin H. Johnson <redacted>
---
 t/t9001-send-email.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Thanks.
quoted hunk
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 1dc4a92..3271426 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -1135,7 +1135,7 @@ test_expect_success $PREREQ '--8bit-encoding also treats subject' '
 # Note that the patches in this test are deliberately out of order; we
 # want to make sure it works even if the cover-letter is not in the
 # first mail.
-test_expect_success 'refusing to send cover letter template' '
+test_expect_success $PREREQ 'refusing to send cover letter template' '
 	clean_fake_sendmail &&
 	rm -fr outdir &&
 	git format-patch --cover-letter -2 -o outdir &&
@@ -1151,7 +1151,7 @@ test_expect_success 'refusing to send cover letter template' '
 	test -z "$(ls msgtxt*)"
 '
 
-test_expect_success '--force sends cover letter template anyway' '
+test_expect_success $PREREQ '--force sends cover letter template anyway' '
 	clean_fake_sendmail &&
 	rm -fr outdir &&
 	git format-patch --cover-letter -2 -o outdir &&
This however makes me wonder (Robin, the following is primarily meant for
Ævar to whom 57cd35e (t/t9001-send-email.sh: change from skip_all=* to
prereq skip, 2010-08-13) is credited, and not a complaint to your patch at
all, but you are welcome to comment on it if you feel like).

Everything in this test seem to require $PREREQ now (test_expect_success
always takes the 3-parameter form).  Does it suggest that we might want to
allow tests to define a "global prerequisite", e.g.

   GIT_TESTS_PREREQ="PERL"
   export GIT_TESTS_PREREQ

and make the traditional 2-parameter test_expect_success without an
explicit prerequisite take notice?  Would it let us not have to worry
about this kind of breakages?  Or is 9001 a very tiny minority oddball
that must have $PREREQ everywhere and such a test framework feature would
be an overkill?

More importantly, 9001 is all about send-email and we know upfront that we
want to skip everything when PERL prerequisite is not met.  Why not a
simple 

	if ! test_have_prereq PERL
        then
        	test_done
	fi

insufficient?

Who cares "skipped statistics"?  When one does not care about testing
send-email at all, why should one care how many tests on that program are
skipped?  I personally do not think this is worth the trouble, and am very
close (showing two fingers almost touching) to suggest reverting 57cd35e.

Please convince me otherwise.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help