[m-rev.] for review: improve test framework

Mark Brown dougl at cs.mu.OZ.AU
Fri Aug 16 18:59:48 AEST 2002


On 15-Aug-2002, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 15-Aug-2002, Mark Brown <dougl at cs.mu.OZ.AU> wrote:
> > You also can't easily run a subset of the test cases in the hard_coded
> > directory without running all of them.
> 
> Actually, you can.
> 
> 	mmake foo.res bar.res
> 
> > But the question is: why would you want to?
> 
> I do this all the time, for exactly the reason that Zoltan described.

Allow me to rephrase my point.  You can't easily run an _arbitrary_
subset of test cases in a directory, but why would you want to?  Only
certain subsets are meaningful to run in a given circumstance.

So far, I've seen a few suggested subsets, each with an explanation of how
it is a meaningful subset to run:

	- Simon's suggestion that the tests which just failed should be
	  run.  This is useful when you are part of the way through a
	  change, and you have had some tests that have already failed
	  on an earlier version of the change.  I agree that this is
	  the most useful suggestion so far.

	- My suggestion that all tests pertaining to the sub-system
	  being modified, and any sub-system that depends on it, should
	  be run.  This is useful when you have just begun to add a new
	  feature, and you haven't yet run any tests.  The first point
	  can't apply here, because there won't have been any failures.

	- The obvious suggestion that all tests (including bootstrap
	  test) should be run before posting for review.

What I haven't seen is a rationale for running all the tests pertaining
to a particular sub-system, without also running the tests for any
sub-system that depends on it.  (Actually, there is a reason for having
the *_local targets, but that is an implementation detail and wasn't
intended for use.)

> 
> > Is it just a case of sacrificing stability in order to speed development,
> 
> No.  It is a case of running the tests in the right order in order
> to speed development by getting quick notification of the most likely
> failures.

In this case, the "right order" is the one suggested by Simon.

> No stability is sacrificed so long as you run a full
> bootcheck before committing.
> 

Ok, you're right.  The risk we are dealing with here is the risk of slowing
down the edit-test cycle unnecessarily, not the risk of introducing bugs.

Cheers,
Mark.

--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list