parcels
parcels copied to clipboard
Expanded MPI-tests to reliably cover all code
Currently, Parcels-functionality is only majorly tested in sequential mode via pytest
, supplemented by a few MPI tests that are integrated as systems calls in test_mpirun.py
. This is insufficient and an improved parallel testing (along the lines / examples of Pyccel needs to be established. This is essential as an increasing number of none-core developers are developing the core, who rely on test coverage of the framework not only for verification but also for validation.
We need to shift also from system-calls to an integrated MPI testing because the system-call variant may fail due to numerous reasons (also in the plain file-writing phase of particle sets), which cannot be correlated through the system call. In other words: those system("mpirun ...")
tests can fail for a thousand reasons, but it's impossible to say why or where it failed. An integrated MPI-test can tell the failure-reason and traceback just as in serial (i.e. sequential) testing.
Follow-up of #913
- [ ] split ci-workflow in workflow and actions, as in pyccel
- [ ] make the
test_particle_sets.py
file a parallel test action as demo'd in pyccel - [ ] define required parameters for MPI testing
- [ ] make an MPI test-action for each and every
test_[...].py