From: Martin Quinson Date: Tue, 3 Mar 2020 23:43:17 +0000 (+0100) Subject: convert another teshsuite/simix test into teshsuite/kernel (and fix it) X-Git-Tag: v3.26~836 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b20e844b4207d8a4190750d35bef88d0c8d01618 convert another teshsuite/simix test into teshsuite/kernel (and fix it) that test broke when I added the test for the context stacksize (the tests are now more verbose) --- diff --git a/.gitignore b/.gitignore index 2003a0bcbc..80d0695a7a 100644 --- a/.gitignore +++ b/.gitignore @@ -261,6 +261,8 @@ examples/smpi/smpi_msg_masterslave/masterslave_mailbox_smpi examples/smpi/trace_call_location/smpi_trace_call_location examples/smpi/trace_simple/smpi_trace_simple examples/smpi/trace/smpi_trace +teshsuite/kernel/context-defaults/context-defaults +teshsuite/kernel/context-stacksize/context-stacksize teshsuite/java/semaphoregc/java-semaphoregc_compiled teshsuite/java/sleephostoff/java-sleephostoff_compiled teshsuite/mc/dwarf/dwarf @@ -320,7 +322,6 @@ teshsuite/simdag/comp-only-par/comp-only-par teshsuite/simdag/comp-only-seq/comp-only-seq teshsuite/simdag/flatifier/flatifier teshsuite/simdag/incomplete/incomplete -teshsuite/simix/check-defaults/check-defaults teshsuite/simix/generic-simcalls/generic-simcalls teshsuite/simix/stack-overflow/stack-overflow teshsuite/smpi/bug-17132/bug-17132 diff --git a/teshsuite/kernel/CMakeLists.txt b/teshsuite/kernel/CMakeLists.txt index 0fe984b1de..e9ee900dc6 100644 --- a/teshsuite/kernel/CMakeLists.txt +++ b/teshsuite/kernel/CMakeLists.txt @@ -1,4 +1,4 @@ -foreach(x context-stacksize) +foreach(x context-defaults context-stacksize) add_executable (${x} EXCLUDE_FROM_ALL ${x}/${x}.cpp) target_link_libraries(${x} simgrid) set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) @@ -7,13 +7,35 @@ foreach(x context-stacksize) set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp) endforeach() +foreach (factory raw thread boost ucontext) + set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/context-defaults/factory_${factory}.tesh) +endforeach() + ## Add the tests. ## Some need to be run with all factories, some don't need tesh to run # This test should not be executed with thread contexts, as they ignore stack size changes -ADD_TESH_FACTORIES(tesh-kern-context-stacksize "raw;boost;ucontext" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-stacksize --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-stacksize --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/teshsuite/kernel/context-stacksize ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-stacksize/context-stacksize.tesh) +ADD_TESH_FACTORIES(tesh-kernel-context-stacksize "raw;boost;ucontext" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-stacksize --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-stacksize --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/teshsuite/kernel/context-stacksize ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-stacksize/context-stacksize.tesh) set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/context-stacksize/context-stacksize.tesh) +# Ensure that we have the right default setting for the context factory +IF(HAVE_RAW_CONTEXTS) + ADD_TESH(tesh-kernel-context-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-defaults factory_raw.tesh) +ELSEIF(HAVE_UCONTEXT_CONTEXTS) + ADD_TESH(tesh-kernel-context-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-defaults factory_ucontext.tesh) +ELSEIF(HAVE_BOOST_CONTEXTS) + ADD_TESH(tesh-kernel-context-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-defaults factory_boost.tesh) +ELSE() + ADD_TESH(tesh-kernel-context-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-defaults factory_thread.tesh) +ENDIF() +# Ensure that we get what we want when specifying the context factory on the command line +foreach (factory raw thread boost ucontext) + string (TOUPPER have_${factory}_contexts VARNAME) + if (${factory} STREQUAL "thread" OR ${VARNAME}) + # Cannot use ADD_TESH() here since ${factory} is part of the tesh filename + ADD_TESH(tesh-kernel-factory-${factory} --cfg contexts/factory:${factory} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/kernel/context-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/kernel/context-defaults factory_${factory}.tesh) + endif() +endforeach() # Pack the files in the archive diff --git a/teshsuite/simix/check-defaults/check-defaults.cpp b/teshsuite/kernel/context-defaults/context-defaults.cpp similarity index 100% rename from teshsuite/simix/check-defaults/check-defaults.cpp rename to teshsuite/kernel/context-defaults/context-defaults.cpp diff --git a/teshsuite/kernel/context-defaults/factory_boost.tesh b/teshsuite/kernel/context-defaults/factory_boost.tesh new file mode 100644 index 0000000000..8c008c59da --- /dev/null +++ b/teshsuite/kernel/context-defaults/factory_boost.tesh @@ -0,0 +1,3 @@ +$ ${bindir:=.}/context-defaults +> [simix_context/VERBOSE] Using Boost contexts. Welcome to the 21th century. +> [simix_context/VERBOSE] Creating a context of stack 8Mb diff --git a/teshsuite/simix/check-defaults/factory_raw.tesh b/teshsuite/kernel/context-defaults/factory_raw.tesh similarity index 51% rename from teshsuite/simix/check-defaults/factory_raw.tesh rename to teshsuite/kernel/context-defaults/factory_raw.tesh index 7342d3e82f..c3facd66b3 100644 --- a/teshsuite/simix/check-defaults/factory_raw.tesh +++ b/teshsuite/kernel/context-defaults/factory_raw.tesh @@ -1,2 +1,3 @@ -$ ${bindir:=.}/check-defaults +$ ${bindir:=.}/context-defaults > [simix_context/VERBOSE] Using raw contexts. Because the glibc is just not good enough for us. +> [simix_context/VERBOSE] Creating a context of stack 8Mb \ No newline at end of file diff --git a/teshsuite/simix/check-defaults/factory_thread.tesh b/teshsuite/kernel/context-defaults/factory_thread.tesh similarity index 65% rename from teshsuite/simix/check-defaults/factory_thread.tesh rename to teshsuite/kernel/context-defaults/factory_thread.tesh index fd1f833359..8b1d2bc573 100644 --- a/teshsuite/simix/check-defaults/factory_thread.tesh +++ b/teshsuite/kernel/context-defaults/factory_thread.tesh @@ -1,2 +1,2 @@ -$ ${bindir:=.}/check-defaults +$ ${bindir:=.}/context-defaults > [simix_context/VERBOSE] Activating thread context factory diff --git a/teshsuite/kernel/context-defaults/factory_ucontext.tesh b/teshsuite/kernel/context-defaults/factory_ucontext.tesh new file mode 100644 index 0000000000..6efb0de6d9 --- /dev/null +++ b/teshsuite/kernel/context-defaults/factory_ucontext.tesh @@ -0,0 +1,4 @@ +$ ${bindir:=.}/context-defaults +> [simix_context/VERBOSE] Activating SYSV context factory +> [simix_context/VERBOSE] Creating a context of stack 8Mb + diff --git a/teshsuite/simix/CMakeLists.txt b/teshsuite/simix/CMakeLists.txt index 89801ed6f7..8e714d38e2 100644 --- a/teshsuite/simix/CMakeLists.txt +++ b/teshsuite/simix/CMakeLists.txt @@ -1,4 +1,4 @@ -foreach(x check-defaults generic-simcalls stack-overflow) +foreach(x generic-simcalls stack-overflow) add_executable (${x} EXCLUDE_FROM_ALL ${x}/${x}.cpp) target_link_libraries(${x} simgrid) set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) @@ -6,26 +6,12 @@ foreach(x check-defaults generic-simcalls stack-overflow) add_dependencies(tests ${x}) endforeach() -foreach (factory raw thread boost ucontext) - set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/check-defaults/factory_${factory}.tesh) -endforeach() - set(teshsuite_src ${teshsuite_src} PARENT_SCOPE) set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/stack-overflow/stack-overflow.tesh ${CMAKE_CURRENT_SOURCE_DIR}/generic-simcalls/generic-simcalls.tesh PARENT_SCOPE) -IF(HAVE_RAW_CONTEXTS) - ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check-defaults factory_raw.tesh) -ELSEIF(HAVE_UCONTEXT_CONTEXTS) - ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check-defaults factory_ucontext.tesh) -ELSEIF(HAVE_BOOST_CONTEXTS) - ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check-defaults factory_boost.tesh) -ELSE() - ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check-defaults factory_thread.tesh) -ENDIF() - if (NOT enable_memcheck AND NOT enable_address_sanitizer AND NOT enable_thread_sanitizer) ADD_TESH_FACTORIES(stack-overflow "ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/stack-overflow --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/stack-overflow stack-overflow.tesh) if (WIN32) @@ -34,10 +20,3 @@ if (NOT enable_memcheck AND NOT enable_address_sanitizer AND NOT enable_thread_s endif() ADD_TESH_FACTORIES(generic-simcalls "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/generic-simcalls --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/generic-simcalls generic-simcalls.tesh) -foreach (factory raw thread boost ucontext) - string (TOUPPER have_${factory}_contexts VARNAME) - if (${factory} STREQUAL "thread" OR ${VARNAME}) - # Cannot use ADD_TESH() here since ${factory} is part of the tesh filename - ADD_TESH(tesh-simix-factory-${factory} --cfg contexts/factory:${factory} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check-defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check-defaults factory_${factory}.tesh) - endif() -endforeach() diff --git a/teshsuite/simix/check-defaults/factory_boost.tesh b/teshsuite/simix/check-defaults/factory_boost.tesh deleted file mode 100644 index 29be217cd2..0000000000 --- a/teshsuite/simix/check-defaults/factory_boost.tesh +++ /dev/null @@ -1,2 +0,0 @@ -$ ${bindir:=.}/check-defaults -> [simix_context/VERBOSE] Using Boost contexts. Welcome to the 21th century. diff --git a/teshsuite/simix/check-defaults/factory_ucontext.tesh b/teshsuite/simix/check-defaults/factory_ucontext.tesh deleted file mode 100644 index bbe97bfb3a..0000000000 --- a/teshsuite/simix/check-defaults/factory_ucontext.tesh +++ /dev/null @@ -1,2 +0,0 @@ -$ ${bindir:=.}/check-defaults -> [simix_context/VERBOSE] Activating SYSV context factory