From 05ea729022d11ce69e144e216154986520a7dcf9 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Tue, 19 Jan 2016 10:37:25 -0600 Subject: [PATCH] Use same add_tests for valgrind/coverage configurations --- CMakeLists.txt | 96 +++++----------------------------------- tests/testing_harness.py | 17 +++++++ 2 files changed, 28 insertions(+), 85 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a143c3d3b2..19c4e0ddc1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -327,95 +327,21 @@ endif() # Loop through all the tests foreach(test ${TESTS}) - # Get test information get_filename_component(TEST_NAME ${test} NAME) get_filename_component(TEST_PATH ${test} PATH) - # Check for running standard tests (no valgrind, no gcov) - if(NOT ${MEM_CHECK} AND NOT ${COVERAGE}) - - # Check serial/parallel - if (${MPI_ENABLED}) - # Preform a parallel test - add_test(NAME ${TEST_NAME} - WORKING_DIRECTORY ${TEST_PATH} - COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $ - --mpi_exec $ENV{MPI_DIR}/bin/mpiexec) - else() - # Perform a serial test - add_test(NAME ${TEST_NAME} - WORKING_DIRECTORY ${TEST_PATH} - COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $) - endif() - - # Handle special case for valgrind and gcov (run openmc directly, no python) + # Check serial/parallel + if (${MPI_ENABLED}) + # Preform a parallel test + add_test(NAME ${TEST_NAME} + WORKING_DIRECTORY ${TEST_PATH} + COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $ + --mpi_exec $ENV{MPI_DIR}/bin/mpiexec) else() - - # If a plot test is encountered, run with "-p" - if (${test} MATCHES "test_plot") - - # Perform serial valgrind and coverage test with plot flag - add_test(NAME ${TEST_NAME} - WORKING_DIRECTORY ${TEST_PATH} - COMMAND $ -p ${TEST_PATH}) - - elseif(${test} MATCHES "test_filter_distribcell") - - # Add each case for distribcell tests - add_test(NAME ${TEST_NAME}_case-1 - WORKING_DIRECTORY ${TEST_PATH}/case-1 - COMMAND $ ${TEST_PATH}/case-1) - add_test(NAME ${TEST_NAME}_case-2 - WORKING_DIRECTORY ${TEST_PATH}/case-2 - COMMAND $ ${TEST_PATH}/case-2) - add_test(NAME ${TEST_NAME}_case-3 - WORKING_DIRECTORY ${TEST_PATH}/case-3 - COMMAND $ ${TEST_PATH}/case-3) - add_test(NAME ${TEST_NAME}_case-4 - WORKING_DIRECTORY ${TEST_PATH}/case-4 - COMMAND $ ${TEST_PATH}/case-4) - - # If a restart test is encounted, need to run with -r and restart file(s) - elseif(${test} MATCHES "restart") - - # Handle restart tests separately - if(${test} MATCHES "test_statepoint_restart") - set(RESTART_FILE statepoint.07.h5) - elseif(${test} MATCHES "test_sourcepoint_restart") - set(RESTART_FILE statepoint.07.h5 source.07.h5) - elseif(${test} MATCHES "test_particle_restart_eigval") - set(RESTART_FILE particle_9_555.h5) - elseif(${test} MATCHES "test_particle_restart_fixed") - set(RESTART_FILE particle_7_928.h5) - else() - message(FATAL_ERROR "Restart test ${test} not recognized") - endif() - - # Perform serial valgrind and coverage test - add_test(NAME ${TEST_NAME} - WORKING_DIRECTORY ${TEST_PATH} - COMMAND $ ${TEST_PATH}) - - # Perform serial valgrind and coverage restart test - add_test(NAME ${TEST_NAME}_restart - WORKING_DIRECTORY ${TEST_PATH} - COMMAND $ -r ${RESTART_FILE} ${TEST_PATH}) - - # Set test dependency - set_tests_properties(${TEST_NAME}_restart PROPERTIES DEPENDS ${TEST_NAME}) - - - # Handle standard tests for valgrind and gcov - else() - - # Perform serial valgrind and coverage test - add_test(NAME ${TEST_NAME} - WORKING_DIRECTORY ${TEST_PATH} - COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $) - - endif() - + # Perform a serial test + add_test(NAME ${TEST_NAME} + WORKING_DIRECTORY ${TEST_PATH} + COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $) endif() - endforeach(test) diff --git a/tests/testing_harness.py b/tests/testing_harness.py index f1d72dd81c..190c702282 100644 --- a/tests/testing_harness.py +++ b/tests/testing_harness.py @@ -230,6 +230,23 @@ class CMFDTestHarness(TestHarness): class ParticleRestartTestHarness(TestHarness): """Specialized TestHarness for running OpenMC particle restart tests.""" + def _run_openmc(self): + # Set arguments + args = {'openmc_exec': self._opts.exe} + if self._opts.mpi_exec is not None: + args.update({'mpi_procs': self._opts.mpi_np, + 'mpi_exec': self._opts.mpi_exec}) + + # Initial run + executor = Executor() + returncode = executor.run_simulation(**args) + assert returncode == 0, 'OpenMC did not exit successfully.' + + # Run particle restart + args.update({'restart_file': self._sp_name}) + returncode = executor.run_simulation(**args) + assert returncode == 0, 'OpenMC did not exit successfully.' + def _test_output_created(self): """Make sure the restart file has been created.""" particle = glob.glob(os.path.join(os.getcwd(), self._sp_name))