partial order on prereqs independent of outcome?

Allyn Dimock dimock at cag.csail.mit.edu
Thu Apr 6 15:30:00 UTC 2006


Dear QMTest Gurus,

I have a situation where I am running a test suite using multiple targets
on the same physical machine (a 4-process target on a machine with 2 
multi-threaded cpus).

A few tests come relatively close to operating-system limits on some 
system resources.  Resulting in onpredictable failures if multiple such 
tests run simultaneously.

I would like to assure multiple "resource-hog" tests do not run at the 
same time.

I think that the simplest way to do this would be to establish a linear 
order between resource-hog tests.  The mechanism of using prerequisites
almost works, except -- to quote the manual:

"A test specifies for each of its prerequisite tests an expected outcome. 
If the prerequisite is included in the test run and the actual outcome of 
the prerequisite test is different from the expected outcome, the test is 
not run. Instead, it is given an UNTESTED outcome."

In my situation I want ignore the outcome of a test, and merely have the 
fact that it has been run be a prerequisite for running another test.

A quick skim through the code makes me believe that the question of what 
to patch or subclass is NOT "intuitively obvious to the most casual 
observer", since and get this info threaded through the infrastructure from 
XMLDatabase.__ParseTestDocument to ExecutionEngine. __FindRunnableTest
My idea here being: use an expected outcome of "*" for a prerequisite to 
indicate that any expected outome is acceptable

Before going further on my own, I though I would ask the experts:

(1) What do I need to subclass or patch to make the running of a test a 
prerequisite if another test independent of the outcome of the first test.

(2) Is this requirement encountered often enought that it should be 
considered for inclusion in future releases?

Thanks,

-- Allyn

Allyn Dimock <dimock at csail.mit.edu>



More information about the qmtest mailing list