VTK tests: check all VTK files with one python invocation
This merge request replaces the checkVTKFile
function with a
VTKChecker
class which allows to queue up files and then check all
of them within a single python invocation. As importing the vtk
Python module has a significant overhead, this reduces the time to run
the tests noticeably:
Test | Old | New |
---|---|---|
vtktest | 384 sec | 21 sec |
vtktest-mpi-2 | 945 sec | 17 sec |
subsamplingvtktest | 198 sec | 22 sec |
for one of multiple parallel builds on the CI system.
Note that in the case of the parallel test using MPI, the second rank just busy-waits. If the test runs much quicker, the second process will only run a shorter time as well, removing CPU contention between parallel builds. This should explain the much larger effect of this change for the parallel case.
Closes: #67 (closed)
Merge request reports
Activity
I should mention: this conflicts with !193 (merged), because both touch the subsamplingvtktest.
@joe: Indeed. Besides the merge conflict, !193 (merged) would also need to include the "intervals" in the filename. Using the same filename twice cannot work with running Python only at the end (and is detected as an error).
!193 (merged) is kind-of a new feature, so I'd want to give it a week or so between beeing ready and merging it. If you merge this one first, I'll fix up !193 (merged).
@joe: Okay, then I plan to merge this some time tomorrow.
mentioned in merge request !193 (merged)
Very cool, thank you @ansgar!
assigned to @ansgar
mentioned in commit e5f8ea19