]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Added CMakeLists.txt for testing models.
authordbv <dbv@opencascade.com>
Mon, 16 Jan 2017 14:06:01 +0000 (17:06 +0300)
committerdbv <dbv@opencascade.com>
Wed, 18 Jan 2017 13:55:58 +0000 (16:55 +0300)
CMakeLists.txt
test.models/CMakeLists.txt [new file with mode: 0644]

index 39b83ec2590b86032c2aa955a8ce974ff759bec9..4481c42bcf431e84d648b115076eaa8d729df787 100644 (file)
@@ -114,8 +114,14 @@ IF(${HAVE_SALOME})
     ADD_SUBDIRECTORY (src/ConnectorPlugin)
 ENDIF(${HAVE_SALOME})
 
+ADD_SUBDIRECTORY (test.models)
+
 ENABLE_TESTING()
 
+IF(ADD_MODELS_TESTS)
+  ADD_CUSTOM_TARGET(run_unit_tests COMMAND ${CMAKE_CTEST_COMMAND} -C "${CMAKE_BUILD_TYPE}" -LE "models_tests")
+ENDIF(ADD_MODELS_TESTS)
+
 # Add the uninstall target for eclipse IDE
 if (CMAKE_GENERATOR MATCHES "NMake Makefiles")
 configure_file("${CMAKE_SOURCE_DIR}/CMakeCommon/cmake_uninstall.cmake.in"
diff --git a/test.models/CMakeLists.txt b/test.models/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1297a8e
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright (C) 2007-2017  CEA/DEN, EDF R&D, OPEN CASCADE
+
+IF(ADD_MODELS_TESTS)
+  ENABLE_TESTING()
+
+  file(GLOB pyFiles
+      "*.py"
+  )
+
+  if (WIN32) # different separators and path to libraries variable name
+    SET(_JUSTPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_BIN};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES};${SUIT_LIB_DIR};$ENV{PATH}")
+    STRING(REPLACE "\\" "/" _JUSTPATH "${_JUSTPATH}")
+    STRING(REPLACE ";" "\\;" _JUSTPATH "${_JUSTPATH}")
+    SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_ADDONS};$ENV{PYTHONPATH}")
+    STRING(REPLACE "\\" "/" _PYTHONPATH "${_PYTHONPATH}")
+    STRING(REPLACE ";" "\\;" _PYTHONPATH "${_PYTHONPATH}")
+  else()
+    SET(_LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_BIN}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES}:${SUIT_LIB_DIR}:$ENV{LD_LIBRARY_PATH}")
+    SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_ADDONS}:$ENV{PYTHONPATH}")
+  endif()
+
+  foreach(eachFilePath ${pyFiles})
+    # Strip the ".py" suffix
+    GET_FILENAME_COMPONENT(aTestName ${eachFilePath} NAME_WE)
+
+    # Add "SubprojectName_" prefix
+    GET_FILENAME_COMPONENT(aSubprojectName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
+    SET(aTestName "${aSubprojectName}_${aTestName}")
+
+    # Full path to the python test file beeing executed
+    SET(aTestFilePath "${eachFilePath}")
+    IF(EXISTS ${aTestFilePath})
+      ADD_TEST(NAME ${aTestName}
+               COMMAND ${PYTHON_EXECUTABLE} ${aTestFilePath})
+      if (WIN32) # different path to libraries variable name
+        SET_TESTS_PROPERTIES(${aTestName} PROPERTIES
+               ENVIRONMENT "PATH=${_JUSTPATH};PYTHONPATH=${_PYTHONPATH}"
+               LABELS "models_tests")
+      else()
+        SET_TESTS_PROPERTIES(${aTestName} PROPERTIES
+               ENVIRONMENT "LD_LIBRARY_PATH=${_LD_LIBRARY_PATH};PYTHONPATH=${_PYTHONPATH}"
+               LABELS "models_tests")
+      endif()
+      # Debug output...
+      # MESSAGE(STATUS "Test added: ${aTestName} file: ${aTestFilePath}")
+    ELSE(EXISTS ${aTestFilePath})
+      MESSAGE(WARNING "Can not find the test file: ${aTestFilePath}")
+    ENDIF(EXISTS ${aTestFilePath})
+  endforeach(eachFilePath ${ARGN})
+
+  ADD_CUSTOM_TARGET(run_models_tests COMMAND ${CMAKE_CTEST_COMMAND} -C "${CMAKE_BUILD_TYPE}" -L "models_tests")
+ENDIF(ADD_MODELS_TESTS)
\ No newline at end of file