name: Configure, build and test da stuff
command: |
mkdir _build && cd _build
- cmake -Denable_documentation=OFF -Denable_coverage=OFF -Denable_model-checking=OFF -Denable_compile_optimizations=OFF -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON ..
+ cmake -Denable_documentation=OFF -Denable_coverage=OFF -Denable_model-checking=OFF -Denable_compile_optimizations=OFF -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=OFF -Denable_compile_warnings=ON ..
make -j4 tests && ctest -j4 --output-on-failure
mkdir build ; cd build
cmake -GNinja -Denable_debug=ON -Denable_documentation=OFF -Denable_coverage=OFF \
-Denable_compile_optimizations=ON -Denable_compile_warnings=ON \
- -Denable_model-checking=OFF -Denable_smpi_MBI_testsuite=OFF \
- -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON \
+ -Denable_model-checking=OFF -Denable_testsuite_smpi_MBI=OFF \
+ -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=ON \
-DCMAKE_DISABLE_SOURCE_CHANGES=ON -DLTO_EXTRA_FLAG="auto" ..
ninja tests
ctest --output-on-failure -j$(nproc)
mkdir build ; cd build
cmake -GNinja -Denable_debug=ON -Denable_documentation=OFF -Denable_coverage=OFF \
-Denable_compile_optimizations=ON -Denable_compile_warnings=ON \
- -Denable_model-checking=ON -Denable_smpi_MBI_testsuite=OFF \
- -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF \
+ -Denable_model-checking=ON -Denable_testsuite_smpi_MBI=OFF \
+ -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=OFF \
-Denable_ns3=OFF \
-DCMAKE_DISABLE_SOURCE_CHANGES=ON -DLTO_EXTRA_FLAG="auto" ..
ninja tests
script:
- apt-get --allow-releaseinfo-change update
- apt install -y binutils xsltproc
- - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON -DLTO_EXTRA_FLAG="auto" .
+ - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=ON -Denable_testsuite_McMini=ON -Denable_compile_warnings=ON -DLTO_EXTRA_FLAG="auto" .
- make -j$(nproc) VERBOSE=1 all tests
- ctest -T Test -j$(nproc) --output-on-failure
- xsltproc ./tools/jenkins/ctest2junit.xsl Testing/"$( head -n 1 < Testing/TAG )"/Test.xml > CTestResults.xml
script:
- apt-get --allow-releaseinfo-change update
- apt install -y binutils xsltproc clang
- - cmake -Denable_model-checking=ON -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON -DLTO_EXTRA_FLAG="auto" -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ .
+ - cmake -Denable_model-checking=ON -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=OFF -Denable_testsuite_McMini=OFF -Denable_compile_warnings=ON -DLTO_EXTRA_FLAG="auto" -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ .
- make -j$(nproc) VERBOSE=1 all tests
- ctest -T Test -j$(nproc) --output-on-failure
- xsltproc ./tools/jenkins/ctest2junit.xsl Testing/"$( head -n 1 < Testing/TAG )"/Test.xml > CTestResults.xml
endif()
message(" Compile Smpi ................: ${HAVE_SMPI}")
message(" Smpi fortran ..............: ${SMPI_FORTRAN}")
-message(" MPICH3 testsuite ..........: ${enable_smpi_MPICH3_testsuite}")
-message(" MBI testsuite .............: ${enable_smpi_MBI_testsuite}")
+message(" MPICH3 testsuite ..........: ${enable_testsuite_smpi_MPICH3}")
+message(" MBI testsuite .............: ${enable_testsuite_smpi_MBI}")
message(" Privatization .............: ${HAVE_PRIVATIZATION}")
message(" PAPI support ..............: ${HAVE_PAPI}")
message(" Compile Boost.Context support: ${HAVE_BOOST_CONTEXTS}")
message("")
message(" Model checking ..............: ${SIMGRID_HAVE_MC}")
message(" Stateful model checking ...: ${SIMGRID_HAVE_STATEFUL_MC}")
-message(" MBI testsuite .............: ${enable_smpi_MBI_testsuite}")
+message(" MBI testsuite .............: ${enable_testsuite_smpi_MBI}")
+message(" McMini testsuite ..........: ${enable_testsuite_McMini}")
message("")
message(" Maintainer mode .............: ${enable_maintainer_mode}")
message(" Documentation ...............: ${enable_documentation}")
S4U:
- New class ActivitySet to ease wait_any()/test_any()/wait_all()
- Deprecate {Comm,Io,Exec}::{wait_any,wait_all,test_any} and friends
- - New function NetZone::add_route(host1, host2, links) when you don't need gateways
- Also add a variant with s4u::Link, when you don't want to specify the directions
- on symmetric routes.
+ - Simplify a bit the declaration of multi-zoned platforms from C++
+ - New function NetZone::add_route(host1, host2, links) when you don't need gateways
+ - Also add a variant with s4u::Link, when you don't want to specify the directions
+ on symmetric routes.
+ - Zone's gateways can now be controlled directly.
+ - Add NetZone::add_route(zone1, zone2, links) specifying the route between zones
- Introduce a Mailbox::get_async() with no payload parameter. You can use the new
Comm::get_payload() once the communication is over to retrieve the payload.
- Implement recursive mutexes. Simply pass true to the constructor to get one.
- - Update of the Task model. Each Task now consists of a dispatcher, a collector
- and one or more instances. The parallelism degree of each of these can be set.
- Several examples have been added or modified accordingly.
+ - Simplify the expression of horizontal scaling of Tasks.
+ - Each Task now consists of a dispatcher, a collector and one or more instances.
+ - The parallelism degree of each of these can be set.
+ - Several examples have been added or modified accordingly.
- Introduce a new MessageQueue abstraction and associated Mess simulated object.
The behavior of a MessageQueue is similar to that of a Mailbox, but intended for
control messages that do not incur any simulated cost. Information is automagically
transported over thin air between producer and consumer. See examples/cpp/mess-wait
+New S4U plugins:
+ - Add a JBOD (just a bunch of disks) concept. It's a sort of host with many disks.
+ - Revamp the battery plugin: rewrite completely the API, for a better usability.
+ The examples were updated accordingly.
+ The battery can now act as a simple connector (see battery-connector example).
+ - Revamp of the Photovoltaic plugin: now called SolarPanel and complete rewrite of the API
+ - Add chiller plugin: enable the management of chillers consuming electrical energy
+ to compensate heat generated by hosts.
+ - Add a battery-chiller-solar example combining several plugins to evaluate the amount
+ of brown energy (from the electrical grid) and green energy (from the solar panel)
+ during a given computation.
+
SMPI:
- New SMPI_app_instance_join(): wait for the completion of a started MPI instance
- MPI_UNIVERSE_SIZE now initialized to the total amount of hosts in the platform
+ - Memory usage due to SMPI for non-MPI actors greatly reduced.
sthread:
+ - Allow to use on valgrind-observed processes
+ - Install sthread on user's disk.
- Implement recursive pthreads.
- - Many bug fixes.
+ - Add some McMini codes to test sthread further (controlled with enable_testsuite_McMini).
+
+Model checking:
+ - More informative backtraces on assertion failure.
Python:
- Make the host_load plugin available from Python. See examples/python/plugin-host-load
- Comm::waitall/waitany/testany() are gone. Please use ActivitySet() instead.
- Comm::waitallfor() is gone too. Its semantic was unclear on timeout anyway.
- Io::waitany() and waitanyfor() are gone. Please use ActivitySet() instead.
+ - Add the bindings of the host load plugin
C API:
- Introduce sg_activity_set_t and deprecate wait_all/wait_any/test_any for
Exec, Io and Comm.
-Plugins:
- - Revamp the battery plugin: rewrite completely the API, for a better usability.
- The examples were updated accordingly.
- The battery can now act as a simple connector. See battery-connector example.
- - Revamp of the Photovoltaic plugin: now called SolarPanel and complete rewrite of the API
- - Revamp of the Photovoltaic plugin: now called SolarPanel and complete rewrite of the API
- - Add chiller plugin: enable the management of chillers consuming electrical energy
- to compensate heat generated by hosts.
-
Kernel:
- optimize an internal data structure (replace boost::circular_buffer_space_optimized by
std::deque to store pending and unmatched Comms in Mailboxes). It is actually a revert
deques, but it appeared that their "space_optimized" character was generating a huge lot
of refcount changes on the stored Comms.
+General:
+ - Fix errors with ns-3 v3.36+
+ - Many other small bug fixes, in particular in MC and sthread.
+
----------------------------------------------------------------------------
SimGrid (3.34) June 26. 2023
enable_smpi (ON/off)
Allows one to run MPI code on top of SimGrid.
-enable_smpi_MBI_testsuite (on/OFF)
- Adds many extra tests for the model checker module.
+enable_testsuite_McMini (on/OFF)
+ Adds several extra tests for the model checker module (targeting threaded applications).
-enable_smpi_MPICH3_testsuite (on/OFF)
+enable_testsuite_smpi_MBI (on/OFF)
+ Adds many extra tests for the model checker module (targeting MPI applications).
+
+enable_testsuite_smpi_MPICH3 (on/OFF)
Adds many extra tests for the MPI module.
minimal-bindings (on/OFF)
sonar.issue.ignore.multicriteria.s5.resourceKey=src/smpi/bindings/*.cpp
# Exclude some files from the analysis:
-# - the tests that we borrowed elsewhere (MPICH and MBI)
+# - the tests that we borrowed elsewhere (MPICH, MBI, McMini)
# - Flex-generated files
# - Collectives that we borrowed elsewhere (mpich, openMPI and other implems)
# - the NAS, that are included in our examples
# - The Catch2 library, that is included in our unit tests
# - The xxHash library, used by the MC
-sonar.exclusions=src/3rd-party/*,teshsuite/smpi/mpich3-test/**,teshsuite/smpi/MBI/**,**/*_dtd.c,**/*_dtd.h,**/*yy.c,src/xbt/automaton/parserPromela.tab.*,src/smpi/colls/**/*,examples/smpi/NAS/*,examples/smpi/gemm/gemm.c
+sonar.exclusions=src/3rd-party/*,teshsuite/smpi/mpich3-test/**,teshsuite/smpi/MBI/**,teshsuite/mc/mcmini/**,**/*_dtd.c,**/*_dtd.h,**/*yy.c,src/xbt/automaton/parserPromela.tab.*,src/smpi/colls/**/*,examples/smpi/NAS/*,examples/smpi/gemm/gemm.c
# Exclude our examples from the duplication detection.
# Examples are expected to be somehow repetitive
endif()
-if("${CMAKE_SYSTEM}" MATCHES "Linux")
- foreach(x
+foreach(x
#
# simple_cond_broadcast_deadlock simple_semaphore_deadlock simple_barrier_deadlock simple_cond_deadlock
# simple_semaphores_deadlock
# simple_mutex_with_threads_ok simple_semaphores_ok simple_semaphores_with_threads_ok simple_threads_ok
)
- set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/mcmini/${x}.c)
- set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/mcmini/${x}.tesh)
+ set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/mcmini/${x}.c)
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/mcmini/${x}.tesh)
+ if("${CMAKE_SYSTEM}" MATCHES "Linux" AND ${enable_testsuite_McMini})
add_executable (mcmini-${x} EXCLUDE_FROM_ALL mcmini/${x}.c)
set_target_properties(mcmini-${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mcmini)
target_link_libraries(mcmini-${x} PRIVATE Threads::Threads)
endif()
ADD_TESH(mc-mini-${x} --setenv libdir=${CMAKE_BINARY_DIR}/lib --setenv bindir=${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/mcmini/${x}.tesh)
- endforeach()
-endif()
+ endif()
+endforeach()
set(teshsuite_src ${teshsuite_src} PARENT_SCOPE)
set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/random-bug/random-bug-replay.tesh
file(GLOB generator_scripts *Generator.py)
-if (enable_smpi_MBI_testsuite)
+if (enable_testsuite_smpi_MBI)
if (NOT enable_smpi)
message(FATAL_ERROR "The MBI test suite cannot be enabled without SMPI. Please change either setting.")
endif()
include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
if(HAVE_PRIVATIZATION)
add_library(mtest_c STATIC util/dtypes.c util/mtest.c util/mtestcheck.c util/mtest_datatype.c util/mtest_datatype_gen.c)
else()
endif()
endif()
-IF(enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+IF(enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
ADD_TEST(test-smpi-mpich3-thread-f77 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -privatization=${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/stack-size:8000 -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/privatization:${HAVE_PRIVATIZATION})
SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
ADD_TEST(test-smpi-mpich3-thread-f90 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -privatization=${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/privatization:${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/factory:thread)
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-attr-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/attr ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/attr -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-attr-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
# There are too many warnings with these programs
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-comm-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/comm ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/comm -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-comm-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-datatype-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/datatype ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/datatype -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-datatype-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-errhan-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/errhan ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/errhan -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-errhan-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-group-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/group ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/group -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-group-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-info-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/info ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/info -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-info-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-init-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/init ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/init -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-init-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-io-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/io ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -platformfile=../../../../examples/platforms/hosts_with_disks.xml -hostfile=../../hostfile_io -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/io -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-io-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endforeach()
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-perf-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/perf ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -tests=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/perf/testlist -execarg=-platform\ ${CMAKE_HOME_DIRECTORY}/examples/platforms/cluster_backbone.xml -execarg=--log=root.thr:critical -execarg=--cfg=smpi/async-small-thresh:65536 -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/simulate-computation:0)
endif()
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
set_target_properties(transpose3_shm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS} -DUSE_WIN_ALLOCATE")
endif()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-rma-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/rma ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/rma -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-rma-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
if (enable_thread_sanitizer OR enable_coverage)
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${file}.c)
endforeach()
-if (enable_smpi_MPICH3_testsuite AND HAVE_RAW_CONTEXTS)
+if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
ADD_TEST(test-smpi-mpich3-topo-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/topo ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/topo -tests=testlist -execarg=--cfg=contexts/factory:raw)
SET_TESTS_PROPERTIES(test-smpi-mpich3-topo-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
option(enable_smpi "Whether SMPI is included in the library." on)
option(enable_smpi_papi "Whether SMPI supports PAPI bindings." off)
-option(enable_smpi_MPICH3_testsuite "Whether the test suite form MPICH 3 should be built" off)
-option(enable_smpi_MBI_testsuite "Whether the test suite from MBI should be built." off)
+
+option(enable_testsuite_smpi_MPICH3 "Whether the test suite form MPICH 3 should be built." off)
+option(enable_smpi_MPICH3_testsuite "Please use 'enable_testsuite_smpi_MPICH3' instead." off)
+mark_as_advanced(enable_smpi_MPICH3_testsuite)
+if(enable_smpi_MPICH3_testsuite)
+ SET(enable_testsuite_smpi_MPICH3 ON CACHE BOOL "Whether the test suite form MPICH 3 should be built." FORCE)
+endif()
+
+option(enable_testsuite_smpi_MBI "Whether the test suite from MBI should be built." off)
+option(enable_smpi_MBI_testsuite "Please use 'enable_testsuite_smpi_MBI' instead." off)
+mark_as_advanced(enable_smpi_MBI_testsuite)
+if(enable_smpi_MBI_testsuite)
+ SET(enable_testsuite_smpi_MBI ON CACHE BOOL "Whether the test suite from MBI should be built." FORCE)
+endif()
+
+option(enable_testsuite_McMini "Whether the test suite from McMini should be built." off)
# Internal targets used by jenkins
###
-Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \
-Denable_mallocators=ON \
-Denable_ns3=ON \
- -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_model-checking=ON \
+ -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=ON -Denable_model-checking=ON \
-Denable_smpi_papi=ON \
- -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_MBI_testsuite=ON \
+ -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_testsuite_smpi_MBI=ON -Denable_testsuite_McMini=ON \
-Denable_coverage=ON -DLTO_EXTRA_FLAG="auto" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON "$WORKSPACE"
#build with sonarqube scanner wrapper
cmake -Denable_documentation=OFF -Denable_python=OFF \
-Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \
-Denable_mallocators=OFF \
- -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_model-checking=OFF \
+ -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=OFF -Denable_testsuite_McMini=OFF -Denable_model-checking=OFF \
-Denable_ns3=ON \
-Denable_memcheck_xml=ON -DLTO_EXTRA_FLAG="auto" "$WORKSPACE"
cmake -Denable_documentation=OFF \
-Denable_compile_optimizations=${runtests} -Denable_compile_warnings=ON \
-Denable_mallocators=ON -Denable_debug=${builddebug} \
- -Denable_smpi=${buildsmpi} -Denable_smpi_MPICH3_testsuite=${buildsmpi} -Denable_model-checking=${buildmc} \
- -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_MBI_testsuite=OFF \
+ -Denable_smpi=${buildsmpi} -Denable_testsuite_smpi_MPICH3=${buildsmpi} -Denable_model-checking=${buildmc} \
+ -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_testsuite_smpi_MBI=OFF -Denable_testsuite_McMini=OFF \
-Denable_ns3=$(onoff test "$buildmc" != "ON") -DNS3_HINT=/builds/ns-3-dev/build/ \
-Denable_coverage=OFF -DLTO_EXTRA_FLAG="auto" -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
"$WORKSPACE"
cmake -Denable_documentation=OFF \
-Denable_compile_optimizations=ON -Denable_compile_warnings=ON \
-Denable_mallocators=OFF \
- -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_model-checking=OFF \
+ -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=ON -Denable_model-checking=OFF \
-Denable_ns3=ON \
- -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_MBI_testsuite=OFF -Denable_coverage=OFF\
+ -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_testsuite_smpi_MBI=OFF -Denable_testsuite_McMini=OFF -Denable_coverage=OFF\
-Denable_fortran=OFF -Denable_python=OFF -DLTO_EXTRA_FLAG="auto" -DCMAKE_CXX_COMPILER_LAUNCHER=ccache\
${SANITIZER_OPTIONS} "$WORKSPACE"
cmake -G"$GENERATOR" ${INSTALL:+-DCMAKE_INSTALL_PREFIX=$INSTALL} \
-Denable_debug=ON -Denable_documentation=OFF -Denable_coverage=OFF \
-Denable_model-checking=$(onoff test "$build_mode" = "ModelChecker") \
- -Denable_smpi_MBI_testsuite=OFF \
+ -Denable_testsuite_smpi_MBI=OFF -Denable_testsuite_McMini=ON \
-Denable_compile_optimizations=$(onoff test "$build_mode" != "DynamicAnalysis") \
- -Denable_smpi_MPICH3_testsuite=$(onoff test "$build_mode" = "Debug") \
+ -Denable_testsuite_smpi_MPICH3=$(onoff test "$build_mode" = "Debug") \
-Denable_mallocators=$(onoff test "$build_mode" != "DynamicAnalysis") \
-Denable_memcheck=$(onoff test "$build_mode" = "DynamicAnalysis") \
-Denable_compile_warnings=$(onoff test "$GENERATOR" != "MSYS Makefiles") -Denable_smpi=ON \