From 98d5496102b418613665f5caa7b447cd8ecdaeae Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Mon, 29 Jan 2018 10:53:46 -0600 Subject: [PATCH] Ability to run regression tests using pytest --- pytest.ini | 4 +++ .../asymmetric_lattice/test.py | 11 ++++--- tests/regression_tests/cmfd_feed/test.py | 10 ++----- tests/regression_tests/cmfd_nofeed/test.py | 10 ++----- tests/regression_tests/complex_cell/test.py | 10 ++----- .../confidence_intervals/test.py | 10 ++----- .../create_fission_neutrons/test.py | 11 +++---- tests/regression_tests/density/test.py | 10 ++----- tests/regression_tests/diff_tally/test.py | 12 ++++---- tests/regression_tests/distribmat/test.py | 11 +++---- .../eigenvalue_genperbatch/test.py | 10 ++----- .../eigenvalue_no_inactive/test.py | 10 ++----- tests/regression_tests/energy_cutoff/test.py | 11 +++---- tests/regression_tests/energy_grid/test.py | 10 ++----- tests/regression_tests/energy_laws/test.py | 11 ++----- tests/regression_tests/enrichment/test.py | 5 +--- tests/regression_tests/entropy/test.py | 11 ++++--- .../filter_distribcell/test.py | 11 +++---- .../regression_tests/filter_energyfun/test.py | 15 ++++------ tests/regression_tests/filter_mesh/test.py | 11 +++---- tests/regression_tests/fixed_source/test.py | 16 ++++------ tests/regression_tests/infinite_cell/test.py | 10 ++----- tests/regression_tests/iso_in_lab/test.py | 10 ++----- tests/regression_tests/lattice/test.py | 10 ++----- tests/regression_tests/lattice_hex/test.py | 10 ++----- tests/regression_tests/lattice_mixed/test.py | 10 ++----- .../regression_tests/lattice_multiple/test.py | 10 ++----- tests/regression_tests/mg_basic/test.py | 11 +++---- tests/regression_tests/mg_convert/test.py | 11 +++---- tests/regression_tests/mg_legendre/test.py | 12 +++----- tests/regression_tests/mg_max_order/test.py | 12 +++----- tests/regression_tests/mg_nuclide/test.py | 12 +++----- .../mg_survival_biasing/test.py | 11 +++---- tests/regression_tests/mg_tallies/test.py | 11 +++---- .../mgxs_library_ce_to_mg/test.py | 15 ++++------ .../mgxs_library_condense/test.py | 16 ++++------ .../mgxs_library_distribcell/test.py | 16 ++++------ .../mgxs_library_hdf5/test.py | 17 ++++------- .../mgxs_library_mesh/test.py | 16 ++++------ .../mgxs_library_no_nuclides/test.py | 13 +++----- .../mgxs_library_nuclides/test.py | 13 +++----- tests/regression_tests/multipole/test.py | 10 +++---- tests/regression_tests/output/test.py | 20 +++++-------- .../particle_restart_eigval/test.py | 10 ++----- .../particle_restart_fixed/test.py | 10 ++----- tests/regression_tests/periodic/test.py | 11 +++---- tests/regression_tests/plot/test.py | 11 +++---- tests/regression_tests/ptables_off/test.py | 10 ++----- .../regression_tests/quadric_surfaces/test.py | 10 ++----- .../regression_tests/reflective_plane/test.py | 10 ++----- .../resonance_scattering/test.py | 11 +++---- tests/regression_tests/rotation/test.py | 10 ++----- tests/regression_tests/salphabeta/test.py | 12 +++----- tests/regression_tests/score_current/test.py | 10 ++----- tests/regression_tests/seed/test.py | 10 ++----- tests/regression_tests/source/test.py | 12 +++----- tests/regression_tests/source_file/test.py | 8 ++--- .../sourcepoint_batch/test.py | 23 ++++++-------- .../sourcepoint_latest/test.py | 13 ++++---- .../sourcepoint_restart/test.py | 10 ++----- .../regression_tests/statepoint_batch/test.py | 10 ++----- .../statepoint_restart/test.py | 11 ++++--- .../statepoint_sourcesep/test.py | 16 ++++------ tests/regression_tests/surface_tally/test.py | 11 +++---- .../regression_tests/survival_biasing/test.py | 10 ++----- tests/regression_tests/tallies/test.py | 12 +++----- .../tally_aggregation/test.py | 16 ++++------ .../regression_tests/tally_arithmetic/test.py | 16 ++++------ .../regression_tests/tally_assumesep/test.py | 10 ++----- tests/regression_tests/tally_nuclides/test.py | 10 ++----- .../tally_slice_merge/test.py | 16 ++++------ tests/regression_tests/trace/test.py | 10 ++----- tests/regression_tests/track_output/test.py | 19 +++++------- tests/regression_tests/translation/test.py | 10 ++----- .../trigger_batch_interval/test.py | 10 ++----- .../trigger_no_batch_interval/test.py | 10 ++----- .../trigger_no_status/test.py | 10 ++----- .../regression_tests/trigger_tallies/test.py | 10 ++----- tests/regression_tests/triso/test.py | 13 +++----- tests/regression_tests/uniform_fs/test.py | 10 ++----- tests/regression_tests/universe/test.py | 10 ++----- tests/regression_tests/void/test.py | 10 ++----- tests/regression_tests/volume_calc/test.py | 13 ++++---- tests/testing_harness.py | 30 ++++++++++++------- 84 files changed, 351 insertions(+), 639 deletions(-) create mode 100644 pytest.ini diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 000000000..d960ba8d2 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +python_files = test*.py +python_classes = NoThanks +filterwarnings = ignore::UserWarning diff --git a/tests/regression_tests/asymmetric_lattice/test.py b/tests/regression_tests/asymmetric_lattice/test.py index f7cbf35c6..8bb238485 100644 --- a/tests/regression_tests/asymmetric_lattice/test.py +++ b/tests/regression_tests/asymmetric_lattice/test.py @@ -1,13 +1,11 @@ -#!/usr/bin/env python - import os -import sys import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc +from tests.testing_harness import PyAPITestHarness + class AsymmetricLatticeTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -90,6 +88,7 @@ class AsymmetricLatticeTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_asymmetric_lattice(request): harness = AsymmetricLatticeTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/cmfd_feed/test.py b/tests/regression_tests/cmfd_feed/test.py index 30e61d03f..677c58c2a 100644 --- a/tests/regression_tests/cmfd_feed/test.py +++ b/tests/regression_tests/cmfd_feed/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import CMFDTestHarness +from tests.testing_harness import CMFDTestHarness -if __name__ == '__main__': +def test_cmfd_feed(request): harness = CMFDTestHarness('statepoint.20.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/cmfd_nofeed/test.py b/tests/regression_tests/cmfd_nofeed/test.py index 30e61d03f..113efc051 100644 --- a/tests/regression_tests/cmfd_nofeed/test.py +++ b/tests/regression_tests/cmfd_nofeed/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import CMFDTestHarness +from tests.testing_harness import CMFDTestHarness -if __name__ == '__main__': +def test_cmfd_nofeed(request): harness = CMFDTestHarness('statepoint.20.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/complex_cell/test.py b/tests/regression_tests/complex_cell/test.py index 43f8e5ff0..0e12eccf6 100755 --- a/tests/regression_tests/complex_cell/test.py +++ b/tests/regression_tests/complex_cell/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_complex_cell(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/confidence_intervals/test.py b/tests/regression_tests/confidence_intervals/test.py index 43f8e5ff0..9d87e596b 100755 --- a/tests/regression_tests/confidence_intervals/test.py +++ b/tests/regression_tests/confidence_intervals/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_confidence_intervals(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/create_fission_neutrons/test.py b/tests/regression_tests/create_fission_neutrons/test.py index 080a0ab0d..86ff9a29f 100755 --- a/tests/regression_tests/create_fission_neutrons/test.py +++ b/tests/regression_tests/create_fission_neutrons/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + class CreateFissionNeutronsTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -69,6 +65,7 @@ class CreateFissionNeutronsTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_create_fission_neutrons(request): harness = CreateFissionNeutronsTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/density/test.py b/tests/regression_tests/density/test.py index 43f8e5ff0..8ce3f5898 100644 --- a/tests/regression_tests/density/test.py +++ b/tests/regression_tests/density/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_density(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/diff_tally/test.py b/tests/regression_tests/diff_tally/test.py index 5f1da9c30..87dcd77b8 100644 --- a/tests/regression_tests/diff_tally/test.py +++ b/tests/regression_tests/diff_tally/test.py @@ -1,15 +1,12 @@ -#!/usr/bin/env python - import glob import os -import sys import pandas as pd - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + + class DiffTallyTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): super(DiffTallyTestHarness, self).__init__(*args, **kwargs) @@ -125,6 +122,7 @@ class DiffTallyTestHarness(PyAPITestHarness): return df.to_csv(None, columns=cols, index=False, float_format='%.7e') -if __name__ == '__main__': +def test_diff_tally(request): harness = DiffTallyTestHarness('statepoint.3.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/distribmat/test.py b/tests/regression_tests/distribmat/test.py index d18bb1543..fdb77669e 100644 --- a/tests/regression_tests/distribmat/test.py +++ b/tests/regression_tests/distribmat/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness, PyAPITestHarness import openmc +from tests.testing_harness import TestHarness, PyAPITestHarness + class DistribmatTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -103,6 +99,7 @@ class DistribmatTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_distribmat(request): harness = DistribmatTestHarness('statepoint.5.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/eigenvalue_genperbatch/test.py b/tests/regression_tests/eigenvalue_genperbatch/test.py index a36c2ae37..1ba8e0d63 100644 --- a/tests/regression_tests/eigenvalue_genperbatch/test.py +++ b/tests/regression_tests/eigenvalue_genperbatch/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_eigenvalue_genperbatch(request): harness = TestHarness('statepoint.7.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/eigenvalue_no_inactive/test.py b/tests/regression_tests/eigenvalue_no_inactive/test.py index 43f8e5ff0..a7ed17e0d 100644 --- a/tests/regression_tests/eigenvalue_no_inactive/test.py +++ b/tests/regression_tests/eigenvalue_no_inactive/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_eigenvalue_no_inactive(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/energy_cutoff/test.py b/tests/regression_tests/energy_cutoff/test.py index 74f7b2ab2..d597b331f 100755 --- a/tests/regression_tests/energy_cutoff/test.py +++ b/tests/regression_tests/energy_cutoff/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + class EnergyCutoffTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -73,6 +69,7 @@ class EnergyCutoffTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_energy_cutoff(request): harness = EnergyCutoffTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/energy_grid/test.py b/tests/regression_tests/energy_grid/test.py index 43f8e5ff0..f03e7de66 100644 --- a/tests/regression_tests/energy_grid/test.py +++ b/tests/regression_tests/energy_grid/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_energy_grid(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/energy_laws/test.py b/tests/regression_tests/energy_laws/test.py index 5180344da..02a58f763 100644 --- a/tests/regression_tests/energy_laws/test.py +++ b/tests/regression_tests/energy_laws/test.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - """The purpose of this test is to provide coverage of energy distributions that are not covered in other tests. It has a single material with the following nuclides: @@ -18,13 +16,10 @@ that use linear-linear interpolation. """ -import glob -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_energy_laws(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/enrichment/test.py b/tests/regression_tests/enrichment/test.py index 395fafdf5..a20838c7c 100644 --- a/tests/regression_tests/enrichment/test.py +++ b/tests/regression_tests/enrichment/test.py @@ -1,16 +1,13 @@ -#!/usr/bin/env python - import os import sys import numpy as np -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) from openmc import Material from openmc.data import NATURAL_ABUNDANCE, atomic_mass -if __name__ == '__main__': +def test_enrichment(): # This test doesn't require an OpenMC run. We just need to make sure the # element.expand() method expands Uranium to the proper enrichment. diff --git a/tests/regression_tests/entropy/test.py b/tests/regression_tests/entropy/test.py index bbc6c0c7f..c2ccceffe 100644 --- a/tests/regression_tests/entropy/test.py +++ b/tests/regression_tests/entropy/test.py @@ -1,12 +1,10 @@ -#!/usr/bin/env python - import glob import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness + from openmc import StatePoint +from tests.testing_harness import TestHarness + class EntropyTestHarness(TestHarness): def _get_results(self): @@ -26,6 +24,7 @@ class EntropyTestHarness(TestHarness): return outstr -if __name__ == '__main__': +def test_entropy(request): harness = EntropyTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/filter_distribcell/test.py b/tests/regression_tests/filter_distribcell/test.py index 320a808a5..a1354f56f 100644 --- a/tests/regression_tests/filter_distribcell/test.py +++ b/tests/regression_tests/filter_distribcell/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - import glob -import hashlib import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import * + +from tests.testing_harness import * class DistribcellTestHarness(TestHarness): @@ -72,6 +68,7 @@ class DistribcellTestHarness(TestHarness): 'Tally output file does not exist.' -if __name__ == '__main__': +def test_filter_distribcell(request): harness = DistribcellTestHarness() + harness.request = request harness.main() diff --git a/tests/regression_tests/filter_energyfun/test.py b/tests/regression_tests/filter_energyfun/test.py index 1de522f54..c4d0d60f9 100644 --- a/tests/regression_tests/filter_energyfun/test.py +++ b/tests/regression_tests/filter_energyfun/test.py @@ -1,12 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -import glob -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + class FilterEnergyFunHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -38,8 +33,7 @@ class FilterEnergyFunHarness(PyAPITestHarness): def _get_results(self): # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Use tally arithmetic to compute the branching ratio. br_tally = sp.tallies[2] / sp.tallies[1] @@ -48,6 +42,7 @@ class FilterEnergyFunHarness(PyAPITestHarness): return br_tally.get_pandas_dataframe().to_string() + '\n' -if __name__ == '__main__': +def test_filter_energyfun(request): harness = FilterEnergyFunHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/filter_mesh/test.py b/tests/regression_tests/filter_mesh/test.py index 4ad5e9005..e5a0baba1 100644 --- a/tests/regression_tests/filter_mesh/test.py +++ b/tests/regression_tests/filter_mesh/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import HashedPyAPITestHarness import openmc +from tests.testing_harness import HashedPyAPITestHarness + class FilterMeshTestHarness(HashedPyAPITestHarness): def __init__(self, *args, **kwargs): @@ -67,6 +63,7 @@ class FilterMeshTestHarness(HashedPyAPITestHarness): self._model.tallies.append(tally) -if __name__ == '__main__': +def test_filter_mesh(request): harness = FilterMeshTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/fixed_source/test.py b/tests/regression_tests/fixed_source/test.py index 3e28610fb..caef20a4c 100644 --- a/tests/regression_tests/fixed_source/test.py +++ b/tests/regression_tests/fixed_source/test.py @@ -1,22 +1,17 @@ -#!/usr/bin/env python - -import glob -import os -import sys import numpy as np -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc import openmc.stats +from tests.testing_harness import PyAPITestHarness + class FixedSourceTestHarness(PyAPITestHarness): def _get_results(self): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] outstr = '' - with openmc.StatePoint(statepoint) as sp: + with openmc.StatePoint(self._sp_name) as sp: # Write out tally data. for i, tally_ind in enumerate(sp.tallies): tally = sp.tallies[tally_ind] @@ -36,7 +31,7 @@ class FixedSourceTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_fixed_source(request): mat = openmc.Material() mat.add_nuclide('O16', 1.0) mat.add_nuclide('U238', 0.0001) @@ -61,4 +56,5 @@ if __name__ == '__main__': model.tallies.append(tally) harness = FixedSourceTestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/infinite_cell/test.py b/tests/regression_tests/infinite_cell/test.py index 43f8e5ff0..0e2d8454d 100644 --- a/tests/regression_tests/infinite_cell/test.py +++ b/tests/regression_tests/infinite_cell/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_infinite_cell(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/iso_in_lab/test.py b/tests/regression_tests/iso_in_lab/test.py index 8cc9c7b7d..37bf05a06 100644 --- a/tests/regression_tests/iso_in_lab/test.py +++ b/tests/regression_tests/iso_in_lab/test.py @@ -1,13 +1,9 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness +from tests.testing_harness import PyAPITestHarness -if __name__ == '__main__': +def test_iso_in_lab(request): # Force iso-in-lab scattering. harness = PyAPITestHarness('statepoint.10.h5') harness._model.materials.make_isotropic_in_lab() + harness.request = request harness.main() diff --git a/tests/regression_tests/lattice/test.py b/tests/regression_tests/lattice/test.py index 43f8e5ff0..34c598680 100644 --- a/tests/regression_tests/lattice/test.py +++ b/tests/regression_tests/lattice/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_lattice(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/lattice_hex/test.py b/tests/regression_tests/lattice_hex/test.py index 43f8e5ff0..b0028f3c5 100644 --- a/tests/regression_tests/lattice_hex/test.py +++ b/tests/regression_tests/lattice_hex/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_lattice_hex(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/lattice_mixed/test.py b/tests/regression_tests/lattice_mixed/test.py index 43f8e5ff0..2feb9a138 100644 --- a/tests/regression_tests/lattice_mixed/test.py +++ b/tests/regression_tests/lattice_mixed/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_lattice_mixed(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/lattice_multiple/test.py b/tests/regression_tests/lattice_multiple/test.py index 43f8e5ff0..15daf0bea 100644 --- a/tests/regression_tests/lattice_multiple/test.py +++ b/tests/regression_tests/lattice_multiple/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_lattice_multiple(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_basic/test.py b/tests/regression_tests/mg_basic/test.py index 054503f9a..9fb2681ff 100644 --- a/tests/regression_tests/mg_basic/test.py +++ b/tests/regression_tests/mg_basic/test.py @@ -1,13 +1,10 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness from openmc.examples import slab_mg +from tests.testing_harness import PyAPITestHarness -if __name__ == '__main__': + +def test_mg_basic(request): model = slab_mg() harness = PyAPITestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_convert/test.py b/tests/regression_tests/mg_convert/test.py index 45f701ff1..f51e4e87b 100755 --- a/tests/regression_tests/mg_convert/test.py +++ b/tests/regression_tests/mg_convert/test.py @@ -1,15 +1,11 @@ -#!/usr/bin/env python - import os -import sys import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) import numpy as np - -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + # OpenMC simulation parameters batches = 10 inactive = 5 @@ -202,6 +198,7 @@ class MGXSTestHarness(PyAPITestHarness): self._cleanup() -if __name__ == '__main__': +def test_mg_convert(request): harness = MGXSTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_legendre/test.py b/tests/regression_tests/mg_legendre/test.py index 2e574afb6..a15cd5f94 100644 --- a/tests/regression_tests/mg_legendre/test.py +++ b/tests/regression_tests/mg_legendre/test.py @@ -1,16 +1,12 @@ -#!/usr/bin/env python - -import os -import sys - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness from openmc.examples import slab_mg +from tests.testing_harness import PyAPITestHarness -if __name__ == '__main__': + +def test_mg_legendre(request): model = slab_mg(reps=['iso']) model.settings.tabular_legendre = {'enable': False} harness = PyAPITestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_max_order/test.py b/tests/regression_tests/mg_max_order/test.py index 21fd2c0b6..c8f1ee728 100644 --- a/tests/regression_tests/mg_max_order/test.py +++ b/tests/regression_tests/mg_max_order/test.py @@ -1,15 +1,11 @@ -#!/usr/bin/env python - -import os -import sys - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness from openmc.examples import slab_mg +from tests.testing_harness import PyAPITestHarness -if __name__ == '__main__': + +def test_mg_max_order(request): model = slab_mg(reps=['iso']) model.settings.max_order = 1 harness = PyAPITestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_nuclide/test.py b/tests/regression_tests/mg_nuclide/test.py index d1c06cd41..fd298b368 100644 --- a/tests/regression_tests/mg_nuclide/test.py +++ b/tests/regression_tests/mg_nuclide/test.py @@ -1,14 +1,10 @@ -#!/usr/bin/env python - -import os -import sys - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness from openmc.examples import slab_mg +from tests.testing_harness import PyAPITestHarness -if __name__ == '__main__': + +def test_mg_nuclide(request): model = slab_mg(as_macro=False) harness = PyAPITestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_survival_biasing/test.py b/tests/regression_tests/mg_survival_biasing/test.py index 2669201c0..a4c6e4809 100644 --- a/tests/regression_tests/mg_survival_biasing/test.py +++ b/tests/regression_tests/mg_survival_biasing/test.py @@ -1,14 +1,11 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness from openmc.examples import slab_mg +from tests.testing_harness import PyAPITestHarness -if __name__ == '__main__': + +def test_mg_survival_biasing(request): model = slab_mg() model.settings.survival_biasing = True harness = PyAPITestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mg_tallies/test.py b/tests/regression_tests/mg_tallies/test.py index ec7081e2a..2adf34f7a 100644 --- a/tests/regression_tests/mg_tallies/test.py +++ b/tests/regression_tests/mg_tallies/test.py @@ -1,14 +1,10 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import HashedPyAPITestHarness import openmc from openmc.examples import slab_mg +from tests.testing_harness import HashedPyAPITestHarness -if __name__ == '__main__': + +def test_mg_tallies(request): model = slab_mg(as_macro=False) # Instantiate a tally mesh @@ -92,4 +88,5 @@ if __name__ == '__main__': model.tallies.append(t) harness = HashedPyAPITestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mgxs_library_ce_to_mg/test.py b/tests/regression_tests/mgxs_library_ce_to_mg/test.py index e29cf5831..c8bcef172 100644 --- a/tests/regression_tests/mgxs_library_ce_to_mg/test.py +++ b/tests/regression_tests/mgxs_library_ce_to_mg/test.py @@ -1,14 +1,9 @@ -#!/usr/bin/env python - -import os -import sys -import glob -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc import openmc.mgxs from openmc.examples import pwr_pin_cell +from tests.testing_harness import PyAPITestHarness + class MGXSTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -42,8 +37,7 @@ class MGXSTestHarness(PyAPITestHarness): # Build MG Inputs # Get data needed to execute Library calculations. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) self.mgxs_lib.load_from_statepoint(sp) self._model.mgxs_file, self._model.materials, \ self._model.geometry = self.mgxs_lib.create_mg_mode() @@ -80,9 +74,10 @@ class MGXSTestHarness(PyAPITestHarness): os.remove(f) -if __name__ == '__main__': +def test_mgxs_library_ce_to_mg(request): # Set the input set to use the pincell model model = pwr_pin_cell() harness = MGXSTestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mgxs_library_condense/test.py b/tests/regression_tests/mgxs_library_condense/test.py index fd144636f..c88c52341 100644 --- a/tests/regression_tests/mgxs_library_condense/test.py +++ b/tests/regression_tests/mgxs_library_condense/test.py @@ -1,15 +1,11 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc import openmc.mgxs from openmc.examples import pwr_pin_cell +from tests.testing_harness import PyAPITestHarness + class MGXSTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -38,8 +34,7 @@ class MGXSTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the MGXS library from the statepoint self.mgxs_lib.load_from_statepoint(sp) @@ -65,8 +60,9 @@ class MGXSTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_mgxs_library_condense(request): # Use the pincell model model = pwr_pin_cell() harness = MGXSTestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mgxs_library_distribcell/test.py b/tests/regression_tests/mgxs_library_distribcell/test.py index e59f4c757..f18ae54b1 100644 --- a/tests/regression_tests/mgxs_library_distribcell/test.py +++ b/tests/regression_tests/mgxs_library_distribcell/test.py @@ -1,15 +1,11 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc import openmc.mgxs from openmc.examples import pwr_assembly +from tests.testing_harness import PyAPITestHarness + class MGXSTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -43,8 +39,7 @@ class MGXSTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the MGXS library from the statepoint self.mgxs_lib.load_from_statepoint(sp) @@ -69,7 +64,8 @@ class MGXSTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_mgxs_library_distribcell(request): model = pwr_assembly() harness = MGXSTestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mgxs_library_hdf5/test.py b/tests/regression_tests/mgxs_library_hdf5/test.py index 8daf828ce..b070f22e8 100644 --- a/tests/regression_tests/mgxs_library_hdf5/test.py +++ b/tests/regression_tests/mgxs_library_hdf5/test.py @@ -1,19 +1,14 @@ -#!/usr/bin/env python - import os -import sys -import glob import hashlib import numpy as np import h5py - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc import openmc.mgxs from openmc.examples import pwr_pin_cell +from tests.testing_harness import PyAPITestHarness + np.set_printoptions(formatter={'float_kind': '{:.8e}'.format}) @@ -46,8 +41,7 @@ class MGXSTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the MGXS library from the statepoint self.mgxs_lib.load_from_statepoint(sp) @@ -77,12 +71,13 @@ class MGXSTestHarness(PyAPITestHarness): def _cleanup(self): super(MGXSTestHarness, self)._cleanup() - f = os.path.join(os.getcwd(), 'mgxs.h5') + f = 'mgxs.h5' if os.path.exists(f): os.remove(f) -if __name__ == '__main__': +def test_mgxs_library_hdf5(request): model = pwr_pin_cell() harness = MGXSTestHarness('statepoint.10.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/mgxs_library_mesh/test.py b/tests/regression_tests/mgxs_library_mesh/test.py index 06cb10601..809782467 100644 --- a/tests/regression_tests/mgxs_library_mesh/test.py +++ b/tests/regression_tests/mgxs_library_mesh/test.py @@ -1,14 +1,10 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc import openmc.mgxs +from tests.testing_harness import PyAPITestHarness + class MGXSTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -47,8 +43,7 @@ class MGXSTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the MGXS library from the statepoint self.mgxs_lib.load_from_statepoint(sp) @@ -70,6 +65,7 @@ class MGXSTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_mgxs_library_mesh(request): harness = MGXSTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/mgxs_library_no_nuclides/test.py b/tests/regression_tests/mgxs_library_no_nuclides/test.py index ede916059..743be994f 100644 --- a/tests/regression_tests/mgxs_library_no_nuclides/test.py +++ b/tests/regression_tests/mgxs_library_no_nuclides/test.py @@ -1,15 +1,11 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc import openmc.mgxs from openmc.examples import pwr_pin_cell +from tests.testing_harness import PyAPITestHarness + class MGXSTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -39,8 +35,7 @@ class MGXSTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the MGXS library from the statepoint self.mgxs_lib.load_from_statepoint(sp) diff --git a/tests/regression_tests/mgxs_library_nuclides/test.py b/tests/regression_tests/mgxs_library_nuclides/test.py index e668ab52c..23ebb2329 100644 --- a/tests/regression_tests/mgxs_library_nuclides/test.py +++ b/tests/regression_tests/mgxs_library_nuclides/test.py @@ -1,15 +1,11 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc import openmc.mgxs from openmc.examples import pwr_pin_cell +from tests.testing_harness import PyAPITestHarness + class MGXSTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -35,8 +31,7 @@ class MGXSTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the MGXS library from the statepoint self.mgxs_lib.load_from_statepoint(sp) diff --git a/tests/regression_tests/multipole/test.py b/tests/regression_tests/multipole/test.py index 20da97f7c..a91bdae5e 100644 --- a/tests/regression_tests/multipole/test.py +++ b/tests/regression_tests/multipole/test.py @@ -1,11 +1,10 @@ -#!/usr/bin/env python import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness, PyAPITestHarness + import openmc import openmc.model +from tests.testing_harness import TestHarness, PyAPITestHarness + def make_model(): model = openmc.model.Model() @@ -81,7 +80,8 @@ class MultipoleTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_multipole(request): model = make_model() harness = MultipoleTestHarness('statepoint.5.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/output/test.py b/tests/regression_tests/output/test.py index 0092f5491..30fcc3a80 100644 --- a/tests/regression_tests/output/test.py +++ b/tests/regression_tests/output/test.py @@ -1,10 +1,7 @@ -#!/usr/bin/env python - -import glob import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +import glob + +from tests.testing_harness import TestHarness class OutputTestHarness(TestHarness): @@ -21,13 +18,12 @@ class OutputTestHarness(TestHarness): def _cleanup(self): TestHarness._cleanup(self) - output = glob.glob(os.path.join(os.getcwd(), 'summary.*')) - output.append(os.path.join(os.getcwd(), 'cross_sections.out')) - for f in output: - if os.path.exists(f): - os.remove(f) + f = 'summary.h5' + if os.path.exists(f): + os.remove(f) -if __name__ == '__main__': +def test_output(request): harness = OutputTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/particle_restart_eigval/test.py b/tests/regression_tests/particle_restart_eigval/test.py index 455ff9e92..6b9d103fd 100644 --- a/tests/regression_tests/particle_restart_eigval/test.py +++ b/tests/regression_tests/particle_restart_eigval/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import ParticleRestartTestHarness +from tests.testing_harness import ParticleRestartTestHarness -if __name__ == '__main__': +def test_particle_restart_eigval(request): harness = ParticleRestartTestHarness('particle_10_1030.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/particle_restart_fixed/test.py b/tests/regression_tests/particle_restart_fixed/test.py index e473fdb59..428d9586d 100644 --- a/tests/regression_tests/particle_restart_fixed/test.py +++ b/tests/regression_tests/particle_restart_fixed/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import ParticleRestartTestHarness +from tests.testing_harness import ParticleRestartTestHarness -if __name__ == '__main__': +def test_particle_restart_fixed(request): harness = ParticleRestartTestHarness('particle_7_144.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/periodic/test.py b/tests/regression_tests/periodic/test.py index ddd7cd89b..188827a5d 100644 --- a/tests/regression_tests/periodic/test.py +++ b/tests/regression_tests/periodic/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + class PeriodicTest(PyAPITestHarness): def _build_inputs(self): @@ -55,6 +51,7 @@ class PeriodicTest(PyAPITestHarness): settings.export_to_xml() -if __name__ == '__main__': +def test_periodic(request): harness = PeriodicTest('statepoint.4.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/plot/test.py b/tests/regression_tests/plot/test.py index d0c362ef2..1e7773ea6 100644 --- a/tests/regression_tests/plot/test.py +++ b/tests/regression_tests/plot/test.py @@ -1,16 +1,12 @@ -#!/usr/bin/env python - import glob import hashlib import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness import h5py - import openmc +from tests.testing_harness import TestHarness + class PlotTestHarness(TestHarness): """Specialized TestHarness for running OpenMC plotting tests.""" @@ -60,7 +56,8 @@ class PlotTestHarness(TestHarness): return outstr -if __name__ == '__main__': +def test_plot(request): harness = PlotTestHarness(('plot_1.ppm', 'plot_2.ppm', 'plot_3.ppm', 'plot_4.h5')) + harness.request = request harness.main() diff --git a/tests/regression_tests/ptables_off/test.py b/tests/regression_tests/ptables_off/test.py index 43f8e5ff0..8d67cf400 100644 --- a/tests/regression_tests/ptables_off/test.py +++ b/tests/regression_tests/ptables_off/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_ptables_off(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/quadric_surfaces/test.py b/tests/regression_tests/quadric_surfaces/test.py index 43f8e5ff0..f919f1648 100755 --- a/tests/regression_tests/quadric_surfaces/test.py +++ b/tests/regression_tests/quadric_surfaces/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_quadric_surfaces(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/reflective_plane/test.py b/tests/regression_tests/reflective_plane/test.py index 43f8e5ff0..ba693c61a 100644 --- a/tests/regression_tests/reflective_plane/test.py +++ b/tests/regression_tests/reflective_plane/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_reflective_plane(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/resonance_scattering/test.py b/tests/regression_tests/resonance_scattering/test.py index 3ed7fe227..98096a0ca 100644 --- a/tests/regression_tests/resonance_scattering/test.py +++ b/tests/regression_tests/resonance_scattering/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + class ResonanceScatteringTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -46,6 +42,7 @@ class ResonanceScatteringTestHarness(PyAPITestHarness): settings.export_to_xml() -if __name__ == '__main__': +def test_resonance_scattering(request): harness = ResonanceScatteringTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/rotation/test.py b/tests/regression_tests/rotation/test.py index 43f8e5ff0..b27e7faa4 100644 --- a/tests/regression_tests/rotation/test.py +++ b/tests/regression_tests/rotation/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_rotation(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/salphabeta/test.py b/tests/regression_tests/salphabeta/test.py index 6ced79a8d..4ab213fce 100644 --- a/tests/regression_tests/salphabeta/test.py +++ b/tests/regression_tests/salphabeta/test.py @@ -1,13 +1,8 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) - -from testing_harness import PyAPITestHarness import openmc import openmc.model +from tests.testing_harness import PyAPITestHarness + def make_model(): model = openmc.model.Model() @@ -78,7 +73,8 @@ def make_model(): return model -if __name__ == '__main__': +def test_salphabeta(request): model = make_model() harness = PyAPITestHarness('statepoint.5.h5', model) + harness.request = request harness.main() diff --git a/tests/regression_tests/score_current/test.py b/tests/regression_tests/score_current/test.py index 70ddc2219..1acc7c604 100644 --- a/tests/regression_tests/score_current/test.py +++ b/tests/regression_tests/score_current/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import HashedTestHarness +from tests.testing_harness import HashedTestHarness -if __name__ == '__main__': +def test_score_current(request): harness = HashedTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/seed/test.py b/tests/regression_tests/seed/test.py index 43f8e5ff0..4c6bf95dc 100644 --- a/tests/regression_tests/seed/test.py +++ b/tests/regression_tests/seed/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_seed(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/source/test.py b/tests/regression_tests/source/test.py index 7a3d054d8..aa17143f0 100644 --- a/tests/regression_tests/source/test.py +++ b/tests/regression_tests/source/test.py @@ -1,15 +1,10 @@ -#!/usr/bin/env python - from math import pi -import os -import sys import numpy as np - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc +from tests.testing_harness import PyAPITestHarness + class SourceTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -63,6 +58,7 @@ class SourceTestHarness(PyAPITestHarness): settings.export_to_xml() -if __name__ == '__main__': +def test_source(request): harness = SourceTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/source_file/test.py b/tests/regression_tests/source_file/test.py index f04441a20..1989de4c9 100644 --- a/tests/regression_tests/source_file/test.py +++ b/tests/regression_tests/source_file/test.py @@ -2,9 +2,8 @@ import glob import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import * + +from tests.testing_harness import * settings1=""" @@ -97,6 +96,7 @@ class SourceFileTestHarness(TestHarness): fh.write(settings1) -if __name__ == '__main__': +def test_source_file(request): harness = SourceFileTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/sourcepoint_batch/test.py b/tests/regression_tests/sourcepoint_batch/test.py index 1239a00dc..96326d15b 100644 --- a/tests/regression_tests/sourcepoint_batch/test.py +++ b/tests/regression_tests/sourcepoint_batch/test.py @@ -1,20 +1,15 @@ -#!/usr/bin/env python - import glob -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness + from openmc import StatePoint +from tests.testing_harness import TestHarness + class SourcepointTestHarness(TestHarness): def _test_output_created(self): - """Make sure statepoint.* files have been created.""" - statepoint = glob.glob(os.path.join(os.getcwd(), 'statepoint.*')) - assert len(statepoint) == 5, '5 statepoint files must exist.' - assert statepoint[0].endswith('h5'), \ - 'Statepoint file is not a HDF5 file.' + """Make sure statepoint files have been created.""" + statepoint = glob.glob('statepoint.*.h5') + assert len(statepoint) == 5, 'Five statepoint files must exist.' def _get_results(self): """Digest info in the statepoint and return as a string.""" @@ -22,8 +17,7 @@ class SourcepointTestHarness(TestHarness): outstr = TestHarness._get_results(self) # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - with StatePoint(statepoint) as sp: + with StatePoint(self._sp_name) as sp: # Add the source information. xyz = sp.source[0]['xyz'] outstr += ' '.join(['{0:12.6E}'.format(x) for x in xyz]) @@ -32,6 +26,7 @@ class SourcepointTestHarness(TestHarness): return outstr -if __name__ == '__main__': +def test_sourcepoint_batch(request): harness = SourcepointTestHarness('statepoint.08.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/sourcepoint_latest/test.py b/tests/regression_tests/sourcepoint_latest/test.py index 4af176eec..15082e6d8 100644 --- a/tests/regression_tests/sourcepoint_latest/test.py +++ b/tests/regression_tests/sourcepoint_latest/test.py @@ -1,22 +1,19 @@ -#!/usr/bin/env python - import os import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness + +from tests.testing_harness import TestHarness class SourcepointTestHarness(TestHarness): def _test_output_created(self): """Make sure statepoint.* and source* have been created.""" TestHarness._test_output_created(self) - source = glob.glob(os.path.join(os.getcwd(), 'source.*')) + source = glob.glob(os.path.join(os.getcwd(), 'source.*.h5')) assert len(source) == 1, 'Either multiple or no source files ' \ 'exist.' - assert source[0].endswith('h5'), \ - 'Source file is not a HDF5 file.' -if __name__ == '__main__': +def test_sourcepoint_latest(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/sourcepoint_restart/test.py b/tests/regression_tests/sourcepoint_restart/test.py index 43f8e5ff0..b0d2e9069 100644 --- a/tests/regression_tests/sourcepoint_restart/test.py +++ b/tests/regression_tests/sourcepoint_restart/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_sourcepoint_restart(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/statepoint_batch/test.py b/tests/regression_tests/statepoint_batch/test.py index 0820aa6f0..aeb91e2a6 100644 --- a/tests/regression_tests/statepoint_batch/test.py +++ b/tests/regression_tests/statepoint_batch/test.py @@ -1,9 +1,4 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness class StatepointTestHarness(TestHarness): @@ -18,6 +13,7 @@ class StatepointTestHarness(TestHarness): TestHarness._test_output_created(self) -if __name__ == '__main__': +def test_statepoint_batch(request): harness = StatepointTestHarness() + harness.request = request harness.main() diff --git a/tests/regression_tests/statepoint_restart/test.py b/tests/regression_tests/statepoint_restart/test.py index f3a52c1cf..219a8a7ed 100644 --- a/tests/regression_tests/statepoint_restart/test.py +++ b/tests/regression_tests/statepoint_restart/test.py @@ -1,12 +1,10 @@ -#!/usr/bin/env python - import glob import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness + import openmc +from tests.testing_harness import TestHarness + class StatepointRestartTestHarness(TestHarness): def __init__(self, final_sp, restart_sp): @@ -56,7 +54,8 @@ class StatepointRestartTestHarness(TestHarness): openmc.run(openmc_exec=self._opts.exe, restart_file=statepoint) -if __name__ == '__main__': +def test_statepoint_restart(request): harness = StatepointRestartTestHarness('statepoint.10.h5', 'statepoint.07.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/statepoint_sourcesep/test.py b/tests/regression_tests/statepoint_sourcesep/test.py index 904fa471e..44a45d406 100644 --- a/tests/regression_tests/statepoint_sourcesep/test.py +++ b/tests/regression_tests/statepoint_sourcesep/test.py @@ -1,30 +1,26 @@ -#!/usr/bin/env python - import glob import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness + +from tests.testing_harness import TestHarness class SourcepointTestHarness(TestHarness): def _test_output_created(self): """Make sure statepoint.* and source* have been created.""" TestHarness._test_output_created(self) - source = glob.glob(os.path.join(os.getcwd(), 'source.*')) + source = glob.glob('source.*.h5') assert len(source) == 1, 'Either multiple or no source files ' \ 'exist.' - assert source[0].endswith('h5'), \ - 'Source file is not a HDF5 file.' def _cleanup(self): TestHarness._cleanup(self) - output = glob.glob(os.path.join(os.getcwd(), 'source.*')) + output = glob.glob('source.*.h5') for f in output: if os.path.exists(f): os.remove(f) -if __name__ == '__main__': +def test_statepoint_sourcesep(request): harness = SourcepointTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/surface_tally/test.py b/tests/regression_tests/surface_tally/test.py index 9729fdf20..2d499cb29 100644 --- a/tests/regression_tests/surface_tally/test.py +++ b/tests/regression_tests/surface_tally/test.py @@ -1,13 +1,9 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import numpy as np import openmc import pandas as pd +from tests.testing_harness import PyAPITestHarness + class SurfaceTallyTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -178,6 +174,7 @@ class SurfaceTallyTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_surface_tally(request): harness = SurfaceTallyTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/survival_biasing/test.py b/tests/regression_tests/survival_biasing/test.py index 43f8e5ff0..2dc7c86ab 100644 --- a/tests/regression_tests/survival_biasing/test.py +++ b/tests/regression_tests/survival_biasing/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_survival_biasing(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/tallies/test.py b/tests/regression_tests/tallies/test.py index 693e941af..25545dd82 100644 --- a/tests/regression_tests/tallies/test.py +++ b/tests/regression_tests/tallies/test.py @@ -1,16 +1,12 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) - -from testing_harness import HashedPyAPITestHarness from openmc.filter import * from openmc import Mesh, Tally, Tallies +from tests.testing_harness import HashedPyAPITestHarness -if __name__ == '__main__': + +def test_tallies(request): harness = HashedPyAPITestHarness('statepoint.5.h5') + harness.request = request model = harness._model # Set settings explicitly diff --git a/tests/regression_tests/tally_aggregation/test.py b/tests/regression_tests/tally_aggregation/test.py index 62d3a3f04..dfa026690 100644 --- a/tests/regression_tests/tally_aggregation/test.py +++ b/tests/regression_tests/tally_aggregation/test.py @@ -1,13 +1,9 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc +from tests.testing_harness import PyAPITestHarness + class TallyAggregationTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -28,8 +24,7 @@ class TallyAggregationTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Extract the tally of interest tally = sp.get_tally(name='distribcell tally') @@ -66,6 +61,7 @@ class TallyAggregationTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_tally_aggregation(request): harness = TallyAggregationTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/tally_arithmetic/test.py b/tests/regression_tests/tally_arithmetic/test.py index fab1b0fb2..c87d0149f 100644 --- a/tests/regression_tests/tally_arithmetic/test.py +++ b/tests/regression_tests/tally_arithmetic/test.py @@ -1,13 +1,9 @@ -#!/usr/bin/env python - -import os -import sys -import glob import hashlib -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc +from tests.testing_harness import PyAPITestHarness + class TallyArithmeticTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -43,8 +39,7 @@ class TallyArithmeticTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Load the tallies tally_1 = sp.get_tally(name='tally 1') @@ -80,6 +75,7 @@ class TallyArithmeticTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_tally_arithmetic(request): harness = TallyArithmeticTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/tally_assumesep/test.py b/tests/regression_tests/tally_assumesep/test.py index 43f8e5ff0..c4248c10a 100644 --- a/tests/regression_tests/tally_assumesep/test.py +++ b/tests/regression_tests/tally_assumesep/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_tally_assumesep(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/tally_nuclides/test.py b/tests/regression_tests/tally_nuclides/test.py index 43f8e5ff0..7eec5ef3f 100644 --- a/tests/regression_tests/tally_nuclides/test.py +++ b/tests/regression_tests/tally_nuclides/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_tally_nuclides(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/tally_slice_merge/test.py b/tests/regression_tests/tally_slice_merge/test.py index 84908b5cb..4ee99d34a 100644 --- a/tests/regression_tests/tally_slice_merge/test.py +++ b/tests/regression_tests/tally_slice_merge/test.py @@ -1,16 +1,12 @@ -#!/usr/bin/env python - from __future__ import division -import os -import sys -import glob import hashlib import itertools -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc +from tests.testing_harness import PyAPITestHarness + class TallySliceMergeTestHarness(PyAPITestHarness): def __init__(self, *args, **kwargs): @@ -85,8 +81,7 @@ class TallySliceMergeTestHarness(PyAPITestHarness): """Digest info in the statepoint and return as a string.""" # Read the statepoint file. - statepoint = glob.glob(os.path.join(os.getcwd(), self._sp_name))[0] - sp = openmc.StatePoint(statepoint) + sp = openmc.StatePoint(self._sp_name) # Extract the cell tally tallies = [sp.get_tally(name='cell tally')] @@ -171,6 +166,7 @@ class TallySliceMergeTestHarness(PyAPITestHarness): return outstr -if __name__ == '__main__': +def test_tally_slice_merge(request): harness = TallySliceMergeTestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/trace/test.py b/tests/regression_tests/trace/test.py index 43f8e5ff0..c037bb23b 100644 --- a/tests/regression_tests/trace/test.py +++ b/tests/regression_tests/trace/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_trace(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/track_output/test.py b/tests/regression_tests/track_output/test.py index c7a2df4eb..b0abb7ecc 100644 --- a/tests/regression_tests/track_output/test.py +++ b/tests/regression_tests/track_output/test.py @@ -1,12 +1,11 @@ -#!/usr/bin/env python - import glob import os from subprocess import call import shutil -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness + +import pytest + +from tests.testing_harness import TestHarness class TrackTestHarness(TestHarness): @@ -39,14 +38,10 @@ class TrackTestHarness(TestHarness): os.remove(f) -if __name__ == '__main__': +def test_track_output(request): # If vtk python module is not available, we can't run track.py so skip this # test. - try: - import vtk - except ImportError: - print('----------------Skipping test-------------') - shutil.copy('results_true.dat', 'results_test.dat') - exit() + vtk = pytest.importerskip('vtk') harness = TrackTestHarness('statepoint.2.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/translation/test.py b/tests/regression_tests/translation/test.py index 43f8e5ff0..29ef1c011 100644 --- a/tests/regression_tests/translation/test.py +++ b/tests/regression_tests/translation/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_translation(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/trigger_batch_interval/test.py b/tests/regression_tests/trigger_batch_interval/test.py index 542c2ffde..1ac01a08b 100644 --- a/tests/regression_tests/trigger_batch_interval/test.py +++ b/tests/regression_tests/trigger_batch_interval/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_trigger_batch_interval(request): harness = TestHarness('statepoint.15.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/trigger_no_batch_interval/test.py b/tests/regression_tests/trigger_no_batch_interval/test.py index 542c2ffde..d38304fee 100644 --- a/tests/regression_tests/trigger_no_batch_interval/test.py +++ b/tests/regression_tests/trigger_no_batch_interval/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_trigger_no_batch_interval(request): harness = TestHarness('statepoint.15.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/trigger_no_status/test.py b/tests/regression_tests/trigger_no_status/test.py index 43f8e5ff0..98173f8dd 100644 --- a/tests/regression_tests/trigger_no_status/test.py +++ b/tests/regression_tests/trigger_no_status/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_trigger_no_status(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/trigger_tallies/test.py b/tests/regression_tests/trigger_tallies/test.py index 542c2ffde..fde7298ff 100644 --- a/tests/regression_tests/trigger_tallies/test.py +++ b/tests/regression_tests/trigger_tallies/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_trigger_tallies(request): harness = TestHarness('statepoint.15.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/triso/test.py b/tests/regression_tests/triso/test.py index c92495ace..2da26d1d3 100644 --- a/tests/regression_tests/triso/test.py +++ b/tests/regression_tests/triso/test.py @@ -1,18 +1,12 @@ -#!/usr/bin/env python - -import os -import sys -import glob import random from math import sqrt import numpy as np - -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness import openmc import openmc.model +from tests.testing_harness import PyAPITestHarness + class TRISOTestHarness(PyAPITestHarness): def _build_inputs(self): @@ -96,6 +90,7 @@ class TRISOTestHarness(PyAPITestHarness): mats.export_to_xml() -if __name__ == '__main__': +def test_triso(request): harness = TRISOTestHarness('statepoint.5.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/uniform_fs/test.py b/tests/regression_tests/uniform_fs/test.py index 43f8e5ff0..553484e0a 100644 --- a/tests/regression_tests/uniform_fs/test.py +++ b/tests/regression_tests/uniform_fs/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_uniform_fs(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/universe/test.py b/tests/regression_tests/universe/test.py index 43f8e5ff0..5da34d90c 100644 --- a/tests/regression_tests/universe/test.py +++ b/tests/regression_tests/universe/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_universe(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/void/test.py b/tests/regression_tests/void/test.py index 43f8e5ff0..a08813c45 100644 --- a/tests/regression_tests/void/test.py +++ b/tests/regression_tests/void/test.py @@ -1,11 +1,7 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import TestHarness +from tests.testing_harness import TestHarness -if __name__ == '__main__': +def test_void(request): harness = TestHarness('statepoint.10.h5') + harness.request = request harness.main() diff --git a/tests/regression_tests/volume_calc/test.py b/tests/regression_tests/volume_calc/test.py index 47ce27a12..da3a66c36 100644 --- a/tests/regression_tests/volume_calc/test.py +++ b/tests/regression_tests/volume_calc/test.py @@ -1,12 +1,11 @@ -#!/usr/bin/env python - import os import glob import sys -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) -from testing_harness import PyAPITestHarness + import openmc +from tests.testing_harness import PyAPITestHarness + class VolumeTest(PyAPITestHarness): def _build_inputs(self): @@ -57,8 +56,7 @@ class VolumeTest(PyAPITestHarness): def _get_results(self): outstr = '' - for i, filename in enumerate(sorted(glob.glob(os.path.join( - os.getcwd(), 'volume_*.h5')))): + for i, filename in enumerate(sorted(glob.glob('volume_*.h5'))): outstr += 'Volume calculation {}\n'.format(i) # Read volume calculation results @@ -75,6 +73,7 @@ class VolumeTest(PyAPITestHarness): def _test_output_created(self): pass -if __name__ == '__main__': +def test_volume_calc(request): harness = VolumeTest('') + harness.request = request harness.main() diff --git a/tests/testing_harness.py b/tests/testing_harness.py index ad3b8ac1e..9aee4f741 100644 --- a/tests/testing_harness.py +++ b/tests/testing_harness.py @@ -11,7 +11,6 @@ import sys import numpy as np -sys.path.insert(0, os.path.join(os.pardir, os.pardir)) import openmc from openmc.examples import pwr_core @@ -33,10 +32,14 @@ class TestHarness(object): def main(self): """Accept commandline arguments and either run or update tests.""" (self._opts, self._args) = self.parser.parse_args() - if self._opts.update: - self.update_results() - else: - self.execute_test() + try: + olddir = self.request.fspath.dirpath().chdir() + if self._opts.update: + self.update_results() + else: + self.execute_test() + finally: + olddir.chdir() def execute_test(self): """Run OpenMC with the appropriate arguments and check the outputs.""" @@ -234,6 +237,7 @@ class PyAPITestHarness(TestHarness): super(PyAPITestHarness, self).__init__(statepoint_name) self.parser.add_option('-b', '--build-inputs', dest='build_only', action='store_true', default=False) + openmc.reset_auto_ids() if model is None: self._model = pwr_core() else: @@ -244,12 +248,16 @@ class PyAPITestHarness(TestHarness): def main(self): """Accept commandline arguments and either run or update tests.""" (self._opts, self._args) = self.parser.parse_args() - if self._opts.build_only: - self._build_inputs() - elif self._opts.update: - self.update_results() - else: - self.execute_test() + try: + olddir = self.request.fspath.dirpath().chdir() + if self._opts.build_only: + self._build_inputs() + elif self._opts.update: + self.update_results() + else: + self.execute_test() + finally: + olddir.chdir() def execute_test(self): """Build input XMLs, run OpenMC, and verify correct results."""