Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add external ringtest to CTest suite #997

Merged
merged 10 commits into from
Feb 19, 2021
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .cmake-format.changes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
additional_commands:
nrn_add_test_group:
pargs: 0
kwargs:
NAME: 1
SUBMODULE: '?'
MODFILE_DIRECTORY: '?'
SCRIPT_PATTERNS: '*'
OUTPUT: '*'
nrn_add_test:
pargs: 0
kwargs:
GROUP: 1
NAME: 1
SUBMODULE: '?'
MODFILE_DIRECTORY: '?'
COMMAND: '+'
SCRIPT_PATTERNS: '*'
REQUIRES: '*'
CONFLICTS: '*'
nrn_add_test_group_comparison:
pargs: 0
kwargs:
GROUP: 1
REFERENCE_OUTPUT: '*'
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@
[submodule "external/backward"]
path = external/backward
url = https://github.com/bombela/backward-cpp.git
[submodule "external/tests/ringtest"]
path = external/tests/ringtest
url = https://github.com/neuronsimulator/ringtest
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,8 @@ if(NRN_ENABLE_CORENEURON)
message(STATUS "Using external CoreNEURON from ${CORENEURON_DIR}")
else()
message(STATUS "Building CoreNEURON from submodule")
# If NEURON tests are enabled then enable CoreNEURON tests too
set(CORENRN_ENABLE_UNIT_TESTS ${NRN_ENABLE_TESTS} CACHE BOOL "" FORCE)
set(CORENRN_ENABLE_LEGACY_UNITS ${NRN_DYNAMIC_UNITS_USE_LEGACY} CACHE BOOL "" FORCE)
add_external_project(coreneuron)
set(CORENEURON_DIR ${PROJECT_SOURCE_DIR}/external/coreneuron)
Expand Down
17 changes: 16 additions & 1 deletion bin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,27 @@ include(CMakeListsNrnMech)
# =============================================================================
nrn_configure_file(nrngui bin)
nrn_configure_file(neurondemo bin)
nrn_configure_file(nrnivmodl bin)
nrn_configure_dest_src(nrnivmodl bin/tmp nrnivmodl bin)
olupton marked this conversation as resolved.
Show resolved Hide resolved
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/nrnivmodl_makefile_cmake.in
${PROJECT_BINARY_DIR}/bin/nrnmech_makefile @ONLY)

# if running from the build folder (e.g. make test) may need this.
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/nrnpyenv.sh DESTINATION ${PROJECT_BINARY_DIR}/bin)
# Make sure nrnivmodl is executable in the build folder, so we can execute it to prepare test files.
# This can be done more elegantly in newer CMake versions; v3.19+ have file(CHMOD ...) and v3.20+
# support setting permissions directly in configure_file(...).
file(
COPY ${PROJECT_BINARY_DIR}/bin/tmp/nrnivmodl
DESTINATION ${PROJECT_BINARY_DIR}/bin
FILE_PERMISSIONS
OWNER_READ
OWNER_WRITE
OWNER_EXECUTE
GROUP_READ
GROUP_EXECUTE
WORLD_READ
WORLD_EXECUTE)
file(REMOVE_RECURSE ${PROJECT_BINARY_DIR}/bin/tmp)

# =============================================================================
# Install targets
Expand Down
2 changes: 1 addition & 1 deletion bin/nrnivmodl.in
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export libdir

MAKEFILEDIR="${bindir}"

if which xcrun; then
if command -v xcrun; then
@USING_CMAKE_TRUE@@NRN_OSX_BUILD_TRUE@export SDKROOT=`xcrun --sdk macosx --show-sdk-path`
@USING_CMAKE_TRUE@@NRN_OSX_BUILD_TRUE@export MACOSX_DEPLOYMENT_TARGET="@CMAKE_OSX_DEPLOYMENT_TARGET@"
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
Expand Down
399 changes: 399 additions & 0 deletions cmake/NeuronTestHelper.cmake

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion external/coreneuron
Submodule coreneuron updated 186 files
1 change: 1 addition & 0 deletions external/tests/ringtest
Submodule ringtest added at ee24c8
212 changes: 135 additions & 77 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@ add_custom_command(
${PROJECT_BINARY_DIR}/share/nrn/lib)

# Note that DYLD_LIBRARY_PATH is not required and interfere with dlopen
set(TEST_ENV
NEURONHOME=${PROJECT_BINARY_DIR}/share/nrn NRNHOME=${PROJECT_BINARY_DIR}
LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH})
set(TEST_ENV NEURONHOME=${PROJECT_BINARY_DIR}/share/nrn NRNHOME=${PROJECT_BINARY_DIR}
LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH})
if(NRN_ENABLE_PYTHON)
list(
APPEND
TEST_ENV
PYTHONPATH=${PROJECT_BINARY_DIR}/lib/python:${PROJECT_SOURCE_DIR}/test/rxd:$ENV{PYTHONPATH})
endif()
# Give the environment string a more descriptive name that can be used in NeuronTestHelper.cmake
set(NRN_TEST_ENV "${TEST_ENV}")

set(TESTS "")

Expand Down Expand Up @@ -64,7 +65,7 @@ list(APPEND TESTS ringtest)
# Add small hoc test
# =============================================================================
set(HOCTEST_DIR ${PROJECT_SOURCE_DIR}/test/hoc_tests/connect_dend)
if(NRN_ENABLE_CORENEURON)
if(NRN_ENABLE_CORENEURON OR NRN_ENABLE_MOD_COMPATIBILITY)
set(REF_FILE cell3soma.core.dat.ref)
else()
set(REF_FILE cell3soma.dat.ref)
Expand All @@ -85,119 +86,177 @@ list(APPEND TESTS connect_dend)
# Add pytest
# =============================================================================
if(NRN_ENABLE_PYTHON AND PYTEST_FOUND)
add_test(NAME basic_tests COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append ${PROJECT_SOURCE_DIR}/test/pynrn
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/test/pynrn)
add_test(
NAME basic_tests
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.basic_tests ${PYTHON_EXECUTABLE} -m pytest
--cov-report=xml --cov=neuron ${PROJECT_SOURCE_DIR}/test/pynrn
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/test/pynrn)
list(APPEND TESTS basic_tests)
add_custom_target(
pynrn_mod ALL
COMMAND
${CMAKE_COMMAND} -E env ${TEST_ENV} $ENV{SHELL} ${CMAKE_BINARY_DIR}/bin/nrnivmodl
COMMAND ${CMAKE_COMMAND} -E env ${TEST_ENV} ${CMAKE_BINARY_DIR}/bin/nrnivmodl
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/test/pynrn
DEPENDS ${PROJECT_SOURCE_DIR}/test/pynrn/unitstest.mod nocmodl)
add_dependencies(pynrn_mod nrniv)

add_custom_target(
rxdmod ALL
COMMAND
${CMAKE_COMMAND} -E env ${TEST_ENV} $ENV{SHELL} ${CMAKE_BINARY_DIR}/bin/nrnivmodl ./ecs
COMMAND ${CMAKE_COMMAND} -E env ${TEST_ENV} ${CMAKE_BINARY_DIR}/bin/nrnivmodl ./ecs
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/test/rxd)
add_dependencies(rxdmod nrniv)

if(NRN_ENABLE_RX3D)
add_test(NAME rxd_tests COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append ${PROJECT_SOURCE_DIR}/test/rxd)
add_test(
NAME rxd_tests
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.rxd_tests ${PYTHON_EXECUTABLE} -m pytest
--cov-report=xml --cov=neuron ${PROJECT_SOURCE_DIR}/test/rxd)
list(APPEND TESTS rxd_tests)
if(NRN_ENABLE_MPI)
find_python_module(mpi4py)
if(mpi4py_FOUND)
add_test(
NAME rxd_mpi_tests
COMMAND
${MPIEXEC} -np 1 ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append ${PROJECT_SOURCE_DIR}/test/rxd --mpi)
${MPIEXEC} -np 1 ${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.rxd_mpi_tests
olupton marked this conversation as resolved.
Show resolved Hide resolved
olupton marked this conversation as resolved.
Show resolved Hide resolved
${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron
${PROJECT_SOURCE_DIR}/test/rxd --mpi)
list(APPEND TESTS rxd_mpi_tests)
endif()
endif()
endif()
if (NRN_ENABLE_MPI)
# Launching mpi executable with full path can mangle different python versions and libraries(see issue #894)
# Therefore we extract the executable name and create a dedicated target, because add_test($MPIEXEC_NAME) would re-append the full path.
if(NRN_ENABLE_MPI)
# Detect if the MPI implementation supports the --oversubscribe option (at the time of writing
# the available version of OpenMPI does but those of HPE-MPI and MPICH do not).
set(MPIEXEC_OVERSUBSCRIBE --oversubscribe)
execute_process(
COMMAND ${MPIEXEC} ${MPIEXEC_OVERSUBSCRIBE} --version
RESULT_VARIABLE MPIEXEC_OVERSUBSCRIBE_TEST
OUTPUT_QUIET ERROR_QUIET)
if(NOT MPIEXEC_OVERSUBSCRIBE_TEST EQUAL 0)
message(STATUS "mpiexec does not support ${MPIEXEC_OVERSUBSCRIBE}")
unset(MPIEXEC_OVERSUBSCRIBE)
endif()
olupton marked this conversation as resolved.
Show resolved Hide resolved
# Launching mpi executable with full path can mangle different python versions and libraries
# (see issue #894). ${MPIEXEC_NAME} would reinsert the full path, but ${CMAKE_COMMAND} -E env
# ${MPIEXEC_NAME} does not.
get_filename_component(MPIEXEC_NAME ${MPIEXEC} NAME)
add_custom_target(test_subworld_mpiexec_name
COMMAND
${MPIEXEC_NAME} -np 6 --oversubscribe ${CMAKE_BINARY_DIR}/bin/nrniv -mpi -python ${PROJECT_SOURCE_DIR}/test/parallel_tests/test_subworld.py
)
add_test(
NAME parallel_tests
COMMAND
make test_subworld_mpiexec_name)
${CMAKE_COMMAND} -E env ${MPIEXEC_NAME} ${MPIEXEC_NUMPROC_FLAG} 6 ${MPIEXEC_OVERSUBSCRIBE}
${MPIEXEC_PREFLAGS} ${CMAKE_BINARY_DIR}/bin/nrniv ${MPIEXEC_POSTFLAGS} -mpi -python
${PROJECT_SOURCE_DIR}/test/parallel_tests/test_subworld.py)
list(APPEND TESTS parallel_tests)
endif()

if(NRN_ENABLE_CORENEURON)
file(COPY ${PROJECT_SOURCE_DIR}/test/coreneuron/mod DESTINATION ${PROJECT_BINARY_DIR}/test/)
file(COPY ${PROJECT_SOURCE_DIR}/test/pynrn/unitstest.mod DESTINATION ${PROJECT_BINARY_DIR}/test/mod)
file(COPY ${PROJECT_SOURCE_DIR}/test/gjtests/natrans.mod DESTINATION ${PROJECT_BINARY_DIR}/test/mod)
file(COPY ${PROJECT_SOURCE_DIR}/test/pynrn/unitstest.mod
DESTINATION ${PROJECT_BINARY_DIR}/test/mod)
file(COPY ${PROJECT_SOURCE_DIR}/test/gjtests/natrans.mod
DESTINATION ${PROJECT_BINARY_DIR}/test/mod)
# Build test-specific MOD files
add_custom_target(
coreneuron_mod ALL
COMMAND
${CMAKE_COMMAND} -E env ${TEST_ENV} $ENV{SHELL} ${CMAKE_BINARY_DIR}/bin/nrnivmodl -coreneuron .
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
${CMAKE_COMMAND} -E env ${TEST_ENV} ${CMAKE_BINARY_DIR}/bin/nrnivmodl -coreneuron .
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_dependencies(coreneuron_mod nrniv nrniv-core)

add_test(NAME coreneuron_direct_py COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append
${PROJECT_SOURCE_DIR}/test/coreneuron/test_direct.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_direct_hoc COMMAND ${CMAKE_BINARY_DIR}/bin/nrniv
${PROJECT_SOURCE_DIR}/test/coreneuron/test_direct.hoc
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_spikes_py COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append
${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_spikes_file_mode_py COMMAND ${PYTHON_EXECUTABLE}
${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py
file_mode
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_fornetcon_py COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append
${PROJECT_SOURCE_DIR}/test/coreneuron/test_fornetcon.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_datareturn_py COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append
${PROJECT_SOURCE_DIR}/test/coreneuron/test_datareturn.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_test_units_py COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append
${PROJECT_SOURCE_DIR}/test/coreneuron/test_units.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(NAME coreneuron_test_natrans_py COMMAND ${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron --cov-append
${PROJECT_SOURCE_DIR}/test/gjtests/test_natrans.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
list(APPEND TESTS coreneuron_direct_py coreneuron_direct_hoc
coreneuron_spikes_py coreneuron_spikes_file_mode_py coreneuron_fornetcon_py
coreneuron_datareturn_py coreneuron_test_units_py
coreneuron_test_natrans_py)
add_test(
NAME coreneuron_direct_py
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.coreneuron_direct_py ${PYTHON_EXECUTABLE} -m
pytest --cov-report=xml --cov=neuron ${PROJECT_SOURCE_DIR}/test/coreneuron/test_direct.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_direct_hoc
COMMAND ${CMAKE_BINARY_DIR}/bin/nrniv ${PROJECT_SOURCE_DIR}/test/coreneuron/test_direct.hoc
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_spikes_py
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.coreneuron_spikes_py ${PYTHON_EXECUTABLE} -m
pytest --cov-report=xml --cov=neuron ${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_spikes_file_mode_py
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py file_mode
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_fornetcon_py
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.coreneuron_fornetcon_py ${PYTHON_EXECUTABLE}
-m pytest --cov-report=xml --cov=neuron
${PROJECT_SOURCE_DIR}/test/coreneuron/test_fornetcon.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_datareturn_py
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.coreneuron_datareturn_py
${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron
${PROJECT_SOURCE_DIR}/test/coreneuron/test_datareturn.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_test_units_py
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.coreneuron_test_units_py
${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron
${PROJECT_SOURCE_DIR}/test/coreneuron/test_units.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
add_test(
NAME coreneuron_test_natrans_py
COMMAND
${CMAKE_COMMAND} -E env COVERAGE_FILE=.coverage.coreneuron_test_natrans_py
${PYTHON_EXECUTABLE} -m pytest --cov-report=xml --cov=neuron
${PROJECT_SOURCE_DIR}/test/gjtests/test_natrans.py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
list(
APPEND TESTS
coreneuron_direct_py
coreneuron_direct_hoc
coreneuron_spikes_py
coreneuron_spikes_file_mode_py
coreneuron_fornetcon_py
coreneuron_datareturn_py
coreneuron_test_units_py
coreneuron_test_natrans_py)
if(NRN_ENABLE_MPI)
find_python_module(mpi4py)
if(mpi4py_FOUND)
add_test(
NAME coreneuron_spikes_mpi_py COMMAND ${MPIEXEC} -np 2 ${PYTHON_EXECUTABLE}
${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py mpi4py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
NAME coreneuron_spikes_mpi_py
COMMAND
${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 2 ${MPIEXEC_PREFLAGS} ${PYTHON_EXECUTABLE}
${MPIEXEC_POSTFLAGS} ${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py mpi4py
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
list(APPEND TESTS coreneuron_spikes_mpi_py)
endif()
# using -pyexe to workaround #894
add_test(
NAME coreneuron_spikes_mpi_file_mode_py COMMAND ${MPIEXEC} -np 2 ${CMAKE_HOST_SYSTEM_PROCESSOR}/special
-python -pyexe ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py nrnmpi_init file_mode
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
list(APPEND TESTS coreneuron_spikes_mpi_file_mode_py)
# Using -pyexe was a first workaround for #894, but it seems that we also need to avoid using
olupton marked this conversation as resolved.
Show resolved Hide resolved
# the full path to mpiexec (see other discussion in #894). Replacing ${MPIEXEC} with
# ${CMAKE_COMMAND} -E env ${MPIEXEC_NAME} achieves this.
get_filename_component(MPIEXEC_NAME ${MPIEXEC} NAME)
add_test(
NAME coreneuron_spikes_mpi_file_mode_py
COMMAND
${CMAKE_COMMAND} -E env ${MPIEXEC_NAME} ${MPIEXEC_NUMPROC_FLAG} 2 ${MPIEXEC_PREFLAGS}
${CMAKE_HOST_SYSTEM_PROCESSOR}/special ${MPIEXEC_POSTFLAGS} -python -pyexe
${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/coreneuron/test_spikes.py nrnmpi_init
file_mode
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/mod)
list(APPEND TESTS coreneuron_spikes_mpi_file_mode_py)
endif()
endif()
endif()

#============================================
# ============================================
# Test modlunit
#============================================
# ============================================

# Strategy. Create a bash script that runs modlunit on a list of mod file
# expecting success and a list expecting failure. Then run the script
# with a custom target.
# Strategy. Create a bash script that runs modlunit on a list of mod file expecting success and a
# list expecting failure. Then run the script with a custom target.

file(
WRITE ${PROJECT_BINARY_DIR}/run_modlunit.bash
Expand All @@ -218,22 +277,21 @@ done\n\
exit 0\n\
")

set(MODFILES_ACCEPT
${PROJECT_SOURCE_DIR}/test/pynrn/unitstest.mod
${PROJECT_SOURCE_DIR}/src/nrnoc/hh.mod
${PROJECT_SOURCE_DIR}/src/nrnoc/stim.mod
)
set(MODFILES_REJECT
${PROJECT_SOURCE_DIR}/src/nrnoc/pattern.mod
)
set(MODFILES_ACCEPT ${PROJECT_SOURCE_DIR}/test/pynrn/unitstest.mod
${PROJECT_SOURCE_DIR}/src/nrnoc/hh.mod ${PROJECT_SOURCE_DIR}/src/nrnoc/stim.mod)
set(MODFILES_REJECT ${PROJECT_SOURCE_DIR}/src/nrnoc/pattern.mod)

add_custom_target(
modlunit_test ALL
COMMAND
${CMAKE_COMMAND} -E env ${TEST_ENV} $ENV{SHELL} ${PROJECT_BINARY_DIR}/run_modlunit.bash \"${MODFILES_ACCEPT}\" \"${MODFILES_REJECT}\"
${CMAKE_COMMAND} -E env ${TEST_ENV} $ENV{SHELL} ${PROJECT_BINARY_DIR}/run_modlunit.bash
\"${MODFILES_ACCEPT}\" \"${MODFILES_REJECT}\"
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${PROJECT_BINARY_DIR}/bin/modlunit)

#list(APPEND TESTS modlunit_test)
# list(APPEND TESTS modlunit_test)

set_tests_properties(${TESTS} PROPERTIES ENVIRONMENT "${TEST_ENV}")

# Add tests that are configured using external repositories
add_subdirectory(external)
Loading