mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-24 12:05:32 -04:00
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import glob
|
|
import os
|
|
from subprocess import call
|
|
import shutil
|
|
|
|
import pytest
|
|
|
|
from tests.testing_harness import TestHarness
|
|
|
|
|
|
class TrackTestHarness(TestHarness):
|
|
def _test_output_created(self):
|
|
"""Make sure statepoint.* and track* have been created."""
|
|
TestHarness._test_output_created(self)
|
|
|
|
outputs = glob.glob('track_1_1_*.h5')
|
|
assert len(outputs) == 2, 'Expected two track files.'
|
|
|
|
def _get_results(self):
|
|
"""Digest info in the statepoint and return as a string."""
|
|
# Run the track-to-vtk conversion script.
|
|
call(['../../../scripts/openmc-track-to-vtk', '-o', 'poly'] +
|
|
glob.glob('track_1_1_*.h5'))
|
|
|
|
# Make sure the vtk file was created then return it's contents.
|
|
assert os.path.isfile('poly.pvtp'), 'poly.pvtp file not found.'
|
|
|
|
with open('poly.pvtp', 'r') as fin:
|
|
outstr = fin.read()
|
|
|
|
return outstr
|
|
|
|
def _cleanup(self):
|
|
TestHarness._cleanup(self)
|
|
output = glob.glob('track*') + glob.glob('poly*')
|
|
for f in output:
|
|
if os.path.exists(f):
|
|
os.remove(f)
|
|
|
|
|
|
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.main()
|