Use single package-level fixture for regression tests

This commit is contained in:
Paul Romano 2018-01-29 12:10:24 -06:00
parent 73947ad7de
commit 740f03fce1
83 changed files with 106 additions and 181 deletions

View file

@ -88,7 +88,6 @@ class AsymmetricLatticeTestHarness(PyAPITestHarness):
return outstr
def test_asymmetric_lattice(request):
def test_asymmetric_lattice():
harness = AsymmetricLatticeTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import CMFDTestHarness
def test_cmfd_feed(request):
def test_cmfd_feed():
harness = CMFDTestHarness('statepoint.20.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import CMFDTestHarness
def test_cmfd_nofeed(request):
def test_cmfd_nofeed():
harness = CMFDTestHarness('statepoint.20.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_complex_cell(request):
def test_complex_cell():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_confidence_intervals(request):
def test_confidence_intervals():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -0,0 +1,15 @@
import openmc
import pytest
@pytest.fixture(scope='module', autouse=True)
def setup_regression_test(request):
# Reset autogenerated IDs assigned to OpenMC objects
openmc.reset_auto_ids()
# Change to test directory
olddir = request.fspath.dirpath().chdir()
try:
yield
finally:
olddir.chdir()

View file

@ -65,7 +65,6 @@ class CreateFissionNeutronsTestHarness(PyAPITestHarness):
return outstr
def test_create_fission_neutrons(request):
def test_create_fission_neutrons():
harness = CreateFissionNeutronsTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_density(request):
def test_density():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -122,7 +122,6 @@ class DiffTallyTestHarness(PyAPITestHarness):
return df.to_csv(None, columns=cols, index=False, float_format='%.7e')
def test_diff_tally(request):
def test_diff_tally():
harness = DiffTallyTestHarness('statepoint.3.h5')
harness.request = request
harness.main()

View file

@ -99,7 +99,6 @@ class DistribmatTestHarness(PyAPITestHarness):
return outstr
def test_distribmat(request):
def test_distribmat():
harness = DistribmatTestHarness('statepoint.5.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_eigenvalue_genperbatch(request):
def test_eigenvalue_genperbatch():
harness = TestHarness('statepoint.7.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_eigenvalue_no_inactive(request):
def test_eigenvalue_no_inactive():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -69,7 +69,6 @@ class EnergyCutoffTestHarness(PyAPITestHarness):
return outstr
def test_energy_cutoff(request):
def test_energy_cutoff():
harness = EnergyCutoffTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_energy_grid(request):
def test_energy_grid():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -19,7 +19,6 @@ that use linear-linear interpolation.
from tests.testing_harness import TestHarness
def test_energy_laws(request):
def test_energy_laws():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -24,7 +24,6 @@ class EntropyTestHarness(TestHarness):
return outstr
def test_entropy(request):
def test_entropy():
harness = EntropyTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -68,7 +68,6 @@ class DistribcellTestHarness(TestHarness):
'Tally output file does not exist.'
def test_filter_distribcell(request):
def test_filter_distribcell():
harness = DistribcellTestHarness()
harness.request = request
harness.main()

View file

@ -42,7 +42,6 @@ class FilterEnergyFunHarness(PyAPITestHarness):
return br_tally.get_pandas_dataframe().to_string() + '\n'
def test_filter_energyfun(request):
def test_filter_energyfun():
harness = FilterEnergyFunHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -63,7 +63,6 @@ class FilterMeshTestHarness(HashedPyAPITestHarness):
self._model.tallies.append(tally)
def test_filter_mesh(request):
def test_filter_mesh():
harness = FilterMeshTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -31,7 +31,7 @@ class FixedSourceTestHarness(PyAPITestHarness):
return outstr
def test_fixed_source(request, reset_ids):
def test_fixed_source():
mat = openmc.Material()
mat.add_nuclide('O16', 1.0)
mat.add_nuclide('U238', 0.0001)
@ -56,5 +56,4 @@ def test_fixed_source(request, reset_ids):
model.tallies.append(tally)
harness = FixedSourceTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_infinite_cell(request):
def test_infinite_cell():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,9 +1,8 @@
from tests.testing_harness import PyAPITestHarness
def test_iso_in_lab(request):
def test_iso_in_lab():
# Force iso-in-lab scattering.
harness = PyAPITestHarness('statepoint.10.h5')
harness._model.materials.make_isotropic_in_lab()
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_lattice(request):
def test_lattice():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_lattice_hex(request):
def test_lattice_hex():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_lattice_mixed(request):
def test_lattice_mixed():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_lattice_multiple(request):
def test_lattice_multiple():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -3,8 +3,7 @@ from openmc.examples import slab_mg
from tests.testing_harness import PyAPITestHarness
def test_mg_basic(request, reset_ids):
def test_mg_basic():
model = slab_mg()
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -198,7 +198,6 @@ class MGXSTestHarness(PyAPITestHarness):
self._cleanup()
def test_mg_convert(request):
def test_mg_convert():
harness = MGXSTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -3,10 +3,9 @@ from openmc.examples import slab_mg
from tests.testing_harness import PyAPITestHarness
def test_mg_legendre(request, reset_ids):
def test_mg_legendre():
model = slab_mg(reps=['iso'])
model.settings.tabular_legendre = {'enable': False}
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -3,9 +3,8 @@ from openmc.examples import slab_mg
from tests.testing_harness import PyAPITestHarness
def test_mg_max_order(request, reset_ids):
def test_mg_max_order():
model = slab_mg(reps=['iso'])
model.settings.max_order = 1
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -3,8 +3,7 @@ from openmc.examples import slab_mg
from tests.testing_harness import PyAPITestHarness
def test_mg_nuclide(request, reset_ids):
def test_mg_nuclide():
model = slab_mg(as_macro=False)
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -3,9 +3,8 @@ from openmc.examples import slab_mg
from tests.testing_harness import PyAPITestHarness
def test_mg_survival_biasing(request, reset_ids):
def test_mg_survival_biasing():
model = slab_mg()
model.settings.survival_biasing = True
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -4,7 +4,7 @@ from openmc.examples import slab_mg
from tests.testing_harness import HashedPyAPITestHarness
def test_mg_tallies(request, reset_ids):
def test_mg_tallies():
model = slab_mg(as_macro=False)
# Instantiate a tally mesh
@ -88,5 +88,4 @@ def test_mg_tallies(request, reset_ids):
model.tallies.append(t)
harness = HashedPyAPITestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -76,10 +76,9 @@ class MGXSTestHarness(PyAPITestHarness):
os.remove(f)
def test_mgxs_library_ce_to_mg(request, reset_ids):
def test_mgxs_library_ce_to_mg():
# Set the input set to use the pincell model
model = pwr_pin_cell()
harness = MGXSTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -60,9 +60,8 @@ class MGXSTestHarness(PyAPITestHarness):
return outstr
def test_mgxs_library_condense(request, reset_ids):
def test_mgxs_library_condense():
# Use the pincell model
model = pwr_pin_cell()
harness = MGXSTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -64,8 +64,7 @@ class MGXSTestHarness(PyAPITestHarness):
return outstr
def test_mgxs_library_distribcell(request, reset_ids):
def test_mgxs_library_distribcell():
model = pwr_assembly()
harness = MGXSTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -73,12 +73,11 @@ class MGXSTestHarness(PyAPITestHarness):
os.remove(f)
def test_mgxs_library_hdf5(request, reset_ids):
def test_mgxs_library_hdf5():
try:
np.set_printoptions(formatter={'float_kind': '{:.8e}'.format})
model = pwr_pin_cell()
harness = MGXSTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()
finally:
np.set_printoptions(formatter=None)

View file

@ -65,7 +65,6 @@ class MGXSTestHarness(PyAPITestHarness):
return outstr
def test_mgxs_library_mesh(request):
def test_mgxs_library_mesh():
harness = MGXSTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -57,8 +57,7 @@ class MGXSTestHarness(PyAPITestHarness):
return outstr
def test_mgxs_library_no_nuclides(request, reset_ids):
def test_mgxs_library_no_nuclides():
model = pwr_pin_cell()
harness = MGXSTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -53,8 +53,7 @@ class MGXSTestHarness(PyAPITestHarness):
return outstr
def test_mgxs_library_nuclides(request, reset_ids):
def test_mgxs_library_nuclides():
model = pwr_pin_cell()
harness = MGXSTestHarness('statepoint.10.h5', model)
harness.request = request
harness.main()

View file

@ -80,8 +80,7 @@ class MultipoleTestHarness(PyAPITestHarness):
return outstr
def test_multipole(request, reset_ids):
def test_multipole():
model = make_model()
harness = MultipoleTestHarness('statepoint.5.h5', model)
harness.request = request
harness.main()

View file

@ -23,7 +23,6 @@ class OutputTestHarness(TestHarness):
os.remove(f)
def test_output(request):
def test_output():
harness = OutputTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import ParticleRestartTestHarness
def test_particle_restart_eigval(request):
def test_particle_restart_eigval():
harness = ParticleRestartTestHarness('particle_10_1030.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import ParticleRestartTestHarness
def test_particle_restart_fixed(request):
def test_particle_restart_fixed():
harness = ParticleRestartTestHarness('particle_7_144.h5')
harness.request = request
harness.main()

View file

@ -51,7 +51,6 @@ class PeriodicTest(PyAPITestHarness):
settings.export_to_xml()
def test_periodic(request):
def test_periodic():
harness = PeriodicTest('statepoint.4.h5')
harness.request = request
harness.main()

View file

@ -56,8 +56,7 @@ class PlotTestHarness(TestHarness):
return outstr
def test_plot(request):
def test_plot():
harness = PlotTestHarness(('plot_1.ppm', 'plot_2.ppm', 'plot_3.ppm',
'plot_4.h5'))
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_ptables_off(request):
def test_ptables_off():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_quadric_surfaces(request):
def test_quadric_surfaces():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_reflective_plane(request):
def test_reflective_plane():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -42,7 +42,6 @@ class ResonanceScatteringTestHarness(PyAPITestHarness):
settings.export_to_xml()
def test_resonance_scattering(request):
def test_resonance_scattering():
harness = ResonanceScatteringTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_rotation(request):
def test_rotation():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -73,8 +73,7 @@ def make_model():
return model
def test_salphabeta(request, reset_ids):
def test_salphabeta():
model = make_model()
harness = PyAPITestHarness('statepoint.5.h5', model)
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import HashedTestHarness
def test_score_current(request):
def test_score_current():
harness = HashedTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_seed(request):
def test_seed():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -58,7 +58,6 @@ class SourceTestHarness(PyAPITestHarness):
settings.export_to_xml()
def test_source(request):
def test_source():
harness = SourceTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -96,7 +96,6 @@ class SourceFileTestHarness(TestHarness):
fh.write(settings1)
def test_source_file(request):
def test_source_file():
harness = SourceFileTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -26,7 +26,6 @@ class SourcepointTestHarness(TestHarness):
return outstr
def test_sourcepoint_batch(request):
def test_sourcepoint_batch():
harness = SourcepointTestHarness('statepoint.08.h5')
harness.request = request
harness.main()

View file

@ -13,7 +13,6 @@ class SourcepointTestHarness(TestHarness):
'exist.'
def test_sourcepoint_latest(request):
def test_sourcepoint_latest():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_sourcepoint_restart(request):
def test_sourcepoint_restart():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -13,7 +13,6 @@ class StatepointTestHarness(TestHarness):
TestHarness._test_output_created(self)
def test_statepoint_batch(request):
def test_statepoint_batch():
harness = StatepointTestHarness()
harness.request = request
harness.main()

View file

@ -54,8 +54,7 @@ class StatepointRestartTestHarness(TestHarness):
openmc.run(openmc_exec=self._opts.exe, restart_file=statepoint)
def test_statepoint_restart(request):
def test_statepoint_restart():
harness = StatepointRestartTestHarness('statepoint.10.h5',
'statepoint.07.h5')
harness.request = request
harness.main()

View file

@ -20,7 +20,6 @@ class SourcepointTestHarness(TestHarness):
os.remove(f)
def test_statepoint_sourcesep(request):
def test_statepoint_sourcesep():
harness = SourcepointTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -174,7 +174,6 @@ class SurfaceTallyTestHarness(PyAPITestHarness):
return outstr
def test_surface_tally(request):
def test_surface_tally():
harness = SurfaceTallyTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_survival_biasing(request):
def test_survival_biasing():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -4,9 +4,8 @@ from openmc import Mesh, Tally, Tallies
from tests.testing_harness import HashedPyAPITestHarness
def test_tallies(request, reset_ids):
def test_tallies():
harness = HashedPyAPITestHarness('statepoint.5.h5')
harness.request = request
model = harness._model
# Set settings explicitly

View file

@ -61,7 +61,6 @@ class TallyAggregationTestHarness(PyAPITestHarness):
return outstr
def test_tally_aggregation(request):
def test_tally_aggregation():
harness = TallyAggregationTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -75,7 +75,6 @@ class TallyArithmeticTestHarness(PyAPITestHarness):
return outstr
def test_tally_arithmetic(request):
def test_tally_arithmetic():
harness = TallyArithmeticTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_tally_assumesep(request):
def test_tally_assumesep():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_tally_nuclides(request):
def test_tally_nuclides():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -166,7 +166,6 @@ class TallySliceMergeTestHarness(PyAPITestHarness):
return outstr
def test_tally_slice_merge(request):
def test_tally_slice_merge():
harness = TallySliceMergeTestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_trace(request):
def test_trace():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -38,10 +38,9 @@ class TrackTestHarness(TestHarness):
os.remove(f)
def test_track_output(request):
def test_track_output():
# If vtk python module is not available, we can't run track.py so skip this
# test.
vtk = pytest.importorskip('vtk')
harness = TrackTestHarness('statepoint.2.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_translation(request):
def test_translation():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_trigger_batch_interval(request):
def test_trigger_batch_interval():
harness = TestHarness('statepoint.15.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_trigger_no_batch_interval(request):
def test_trigger_no_batch_interval():
harness = TestHarness('statepoint.15.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_trigger_no_status(request):
def test_trigger_no_status():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_trigger_tallies(request):
def test_trigger_tallies():
harness = TestHarness('statepoint.15.h5')
harness.request = request
harness.main()

View file

@ -90,7 +90,6 @@ class TRISOTestHarness(PyAPITestHarness):
mats.export_to_xml()
def test_triso(request):
def test_triso():
harness = TRISOTestHarness('statepoint.5.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_uniform_fs(request):
def test_uniform_fs():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_universe(request):
def test_universe():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -1,7 +1,6 @@
from tests.testing_harness import TestHarness
def test_void(request):
def test_void():
harness = TestHarness('statepoint.10.h5')
harness.request = request
harness.main()

View file

@ -73,7 +73,6 @@ class VolumeTest(PyAPITestHarness):
def _test_output_created(self):
pass
def test_volume_calc(request):
def test_volume_calc():
harness = VolumeTest('')
harness.request = request
harness.main()

View file

@ -32,14 +32,10 @@ class TestHarness(object):
def main(self):
"""Accept commandline arguments and either run or update tests."""
(self._opts, self._args) = self.parser.parse_args()
try:
olddir = self.request.fspath.dirpath().chdir()
if self._opts.update:
self.update_results()
else:
self.execute_test()
finally:
olddir.chdir()
if self._opts.update:
self.update_results()
else:
self.execute_test()
def execute_test(self):
"""Run OpenMC with the appropriate arguments and check the outputs."""
@ -237,7 +233,6 @@ 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:
@ -248,16 +243,12 @@ class PyAPITestHarness(TestHarness):
def main(self):
"""Accept commandline arguments and either run or update tests."""
(self._opts, self._args) = self.parser.parse_args()
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()
if self._opts.build_only:
self._build_inputs()
elif self._opts.update:
self.update_results()
else:
self.execute_test()
def execute_test(self):
"""Build input XMLs, run OpenMC, and verify correct results."""