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