Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add tests to check that the expected context factory is really used.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 3 Oct 2013 20:38:54 +0000 (22:38 +0200)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 3 Oct 2013 20:48:44 +0000 (22:48 +0200)
buildtools/Cmake/AddTests.cmake
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/MakeExe.cmake
teshsuite/simix/CMakeLists.txt [new file with mode: 0644]
teshsuite/simix/check_defaults.c [new file with mode: 0644]
teshsuite/simix/factory_raw.tesh [new file with mode: 0644]
teshsuite/simix/factory_thread.tesh [new file with mode: 0644]
teshsuite/simix/factory_ucontext.tesh [new file with mode: 0644]

index e3cbdb4..669bddc 100644 (file)
@@ -68,6 +68,21 @@ if(NOT enable_memcheck)
   ADD_TEST(xbt-parmap                           ${TESH_COMMAND} ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parmap_test.tesh)
 
   # BEGIN CONTEXTS FACTORY
   ADD_TEST(xbt-parmap                           ${TESH_COMMAND} ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parmap_test.tesh)
 
   # BEGIN CONTEXTS FACTORY
+  if(HAVE_RAWCTX)
+    ADD_TEST(simix_factory_default              ${TESH_COMMAND} ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/factory_raw.tesh)
+  elseif(CONTEXT_UCONTEXT)
+    ADD_TEST(simix_factory_default              ${TESH_COMMAND} ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/factory_ucontext.tesh)
+  else()
+    ADD_TEST(simix_factory_default              ${TESH_COMMAND} ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/factory_thread.tesh)
+  endif()
+  ADD_TEST(simix_factory_thread                 ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/factory_thread.tesh)
+  if(HAVE_RAWCTX)
+    ADD_TEST(simix_factory_raw                  ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/factory_raw.tesh)
+  endif()
+  if(CONTEXT_UCONTEXT)
+    ADD_TEST(simix_factory_ucontext             ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/factory_ucontext.tesh)
+  endif()
+
   ADD_TEST(tesh-msg-get-sender-thread           ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender.tesh)
   if(HAVE_RAWCTX)
     ADD_TEST(tesh-msg-get-sender-raw            ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender.tesh)
   ADD_TEST(tesh-msg-get-sender-thread           ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender.tesh)
   if(HAVE_RAWCTX)
     ADD_TEST(tesh-msg-get-sender-raw            ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender.tesh)
index 06cdde7..8629c55 100644 (file)
@@ -912,6 +912,7 @@ set(TESHSUITE_CMAKEFILES_TXT
   teshsuite/simdag/network/p2p/CMakeLists.txt
   teshsuite/simdag/partask/CMakeLists.txt
   teshsuite/simdag/platforms/CMakeLists.txt
   teshsuite/simdag/network/p2p/CMakeLists.txt
   teshsuite/simdag/partask/CMakeLists.txt
   teshsuite/simdag/platforms/CMakeLists.txt
+  teshsuite/simix/CMakeLists.txt
   teshsuite/smpi/CMakeLists.txt
   teshsuite/smpi/mpich3-test/CMakeLists.txt
   teshsuite/smpi/mpich3-test/attr/CMakeLists.txt
   teshsuite/smpi/CMakeLists.txt
   teshsuite/smpi/mpich3-test/CMakeLists.txt
   teshsuite/smpi/mpich3-test/attr/CMakeLists.txt
index d3c78d3..51fb860 100644 (file)
@@ -84,6 +84,8 @@ add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/network/p2p)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/partask)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms)
 
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/partask)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms)
 
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/simix)
+
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/attr)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/attr)
diff --git a/teshsuite/simix/CMakeLists.txt b/teshsuite/simix/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4c78962
--- /dev/null
@@ -0,0 +1,31 @@
+cmake_minimum_required(VERSION 2.6)
+
+set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
+
+add_executable(check_defaults check_defaults.c)
+target_link_libraries(check_defaults simgrid)
+
+set(tesh_files
+  ${tesh_files}
+  ${CMAKE_CURRENT_SOURCE_DIR}/factory_raw.tesh
+  ${CMAKE_CURRENT_SOURCE_DIR}/factory_thread.tesh
+  ${CMAKE_CURRENT_SOURCE_DIR}/factory_ucontext.tesh
+  PARENT_SCOPE
+  )
+set(xml_files
+  ${xml_files}
+  PARENT_SCOPE
+  )
+set(teshsuite_src
+  ${teshsuite_src}
+  ${CMAKE_CURRENT_SOURCE_DIR}/check_defaults.c
+  PARENT_SCOPE
+  )
+set(bin_files
+  ${bin_files}
+  PARENT_SCOPE
+  )
+set(txt_files
+  ${txt_files}
+  PARENT_SCOPE
+  )
diff --git a/teshsuite/simix/check_defaults.c b/teshsuite/simix/check_defaults.c
new file mode 100644 (file)
index 0000000..f1af007
--- /dev/null
@@ -0,0 +1,18 @@
+/* check_defaults -- simple program displaying its context factory          */
+
+/* Copyright (c) 2013. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include "simgrid/simix.h"
+#include "xbt/log.h"
+
+int main(int argc, char *argv[])
+{
+  xbt_log_control_set("root.fmt:[%c/%p]%e%m%n");
+  xbt_log_control_set("simix_context.threshold:verbose");
+  SIMIX_global_init(&argc, argv);
+  return 0;
+}
diff --git a/teshsuite/simix/factory_raw.tesh b/teshsuite/simix/factory_raw.tesh
new file mode 100644 (file)
index 0000000..7fc2525
--- /dev/null
@@ -0,0 +1,2 @@
+$ ./simix/check_defaults
+> [simix_context/VERBOSE] Using raw contexts. Because the glibc is just not good enough for us.
diff --git a/teshsuite/simix/factory_thread.tesh b/teshsuite/simix/factory_thread.tesh
new file mode 100644 (file)
index 0000000..fdb9520
--- /dev/null
@@ -0,0 +1,2 @@
+$ ./simix/check_defaults
+> [simix_context/VERBOSE] Activating thread context factory
diff --git a/teshsuite/simix/factory_ucontext.tesh b/teshsuite/simix/factory_ucontext.tesh
new file mode 100644 (file)
index 0000000..bf4130a
--- /dev/null
@@ -0,0 +1,2 @@
+$ ./simix/check_defaults
+> [simix_context/VERBOSE] Activating SYSV context factory