tools: make --repeat work with -j in test.py
Checklist
-
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passes -
commit message follows commit guidelines
Affected core subsystem(s)
tools test
Description of change
The repeat option in test.py did not work as expected if -j
was set to
more than one. Repeated tests running at the same time could share temp
directories and cause test failures. This was observed with:
tools/test.py -J --repeat=10 parallel/test-fs-watch-recursive
By using copy.deepCopy(), the repeated tests are separate objects and
not references to the same objects. Setting thread_id
on one of them
will now not change the thread_id
on all of them. And thread_id
is
how the temp directory (and common.PORT as well) are determined.
@santigimeno @mhdawson