Thread (7 messages) flat view 7 messages, 3 authors, 2016-06-15

Re: [PATCH] grep: Don't pass a TODO test if REG_STARTEND is supported

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:08

Ævar Arnfjörð Bjarmason [off-list ref] writes:
On Thu, Jul 8, 2010 at 19:40, Junio C Hamano [off-list ref] wrote:
quoted
Ævar Arnfjörð Bjarmason  [off-list ref] writes:
quoted
+if git grep ile a
+then
+     test_expect_success 'git grep ile a' 'git grep ile a'
+else
+     test_expect_failure 'git grep ile a' 'git grep ile a'
+fi
So if command "X" is known to succeed, we run it inside expect_success
and if not we run it inside expect_failure?

What kind of idiocy is that, I have to wonder...
Well, the point is to normalize the test suite so that we never have
passing TODO tests if everything's OK.
I do not consider a test that passes under some condition but doesn't
under some other condition "everything is OK".  Marking the test as
"expect failure" as René originally did makes a lot of sense to me.

The quoted patch is even worse as it will _actively_ prevent you from
catching a new error you just introduced while futzing "git grep" on a
platform that used to work.  Your "if" statement will say "ah, grep is
broken", and you will use expect-failure, not because your platform does
not support REG_STARTEND, but because you broke "git grep".

The point of having tests is to help you catch your bugs while you
develop.  A test that turns itself off when the feature it is testing is
broken helps nobody.

So forget about "passing TODO tests", whatever a "TODO test" is.  The
change in question is actively _wrong_.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help