Recently the oVirt Jenkins runs unit test for every new patch set in
Gerrit. There are a lot of new patch sets every day, so the Jenkins may
run the unit tests in parallel. I notice that most of the unit tests can
be run in parallel except testStressTest. testStressTest creates lots of
threads nearly to the system limit, so if we run two or more
testStressTest, it will fail, giving false positives.
So I suggest the oVirt Jenkins run most of the tests in parellel, but
run testStressTest exlusively. With the help of the Exclusion-Plugin, it
its possible to configure Jenkins to run some steps in parellel while
some steps exclusive in one job.
Firstly, add a resource with the help of Exclusion-Plugin. Give a
meaningful name to that resource, and assign the resource to this Job.
Secondly, add a build step of Execute Shell, in this step, run all the
tests other than testStressTest. So the shell script can be as follow.
--with-xunit --xunit-file=nosetests0.xml \
Then add a build step of Critical Block Start.
Then add a build step of Execute Shell, in this step, only run
testStressTest as follow.
./run_tests_local.sh -m testStressTest \
--with-xunit --xunit-file=nosetests1.xml \
Then add a build step of Critical BlockEnd.
At last, in post-build actions, in the Publish Test Result Report
section, modify the test report XMLs to "tests/nosetests*.xml". Jenkins
will merge the test reports.
Some patch sets are marked as verify failure by oVirt Jenkins. Most of
them fails in testStressTest. I hope this can help the oVirt Jenkins a
Thanks and best regards!
Zhou Zheng Sheng / 周征晟
vdsm-devel mailing list