Refactoring step in regression test runner.
Dont pass -s to pytest from cmake targets. The output from pytest when tests fail should cover what we need to see. Its also possible to configure pytest to write all captured output to a log file if we want that.
Minor edit in shared fixtures.
Rewrite system test to pytest.
Move final system test into unit/. No point in keeping it separate.
Move previously system/ test from unit/ to unit/python/.
Add @use_gc_barrier decorator for tests to explicitly evoke gc.collect and mpi.barrier before and after a test is run. Use in book tests which hang on macos buildbot with mpi.
Add -B to python calls from CMakeLists.txt, avoiding the creation of __pycache__ directories which we cannot assume is safe under mpirun.