]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Rollback for Artem
authorAnthony Geay <anthony.geay@edf.fr>
Tue, 17 Aug 2021 13:24:04 +0000 (15:24 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Tue, 17 Aug 2021 13:24:04 +0000 (15:24 +0200)
test.hdfs/CMakeLists.txt
test.hdfs/testme.py [new file with mode: 0644]

index 040774500aefb59cdb99358f08e2c1092ce91dea..3811f86abe1174502c540f15bf34a2e94a61f300 100644 (file)
@@ -61,7 +61,7 @@ FOREACH(tfile ${TEST_NAMES})
   ENDIF()
 
   ADD_TEST(NAME ${TEST_NAME}
-           COMMAND ${PYTHON_EXECUTABLE} "$ENV{KERNEL_ROOT_DIR}/bin/salome/appliskel/python_test_driver.py" "${HDF_TEST_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py")
+           COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/testme.py" "${HDF_TEST_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py")
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env};SHAPER_UNIT_TEST_IN_PROGRESS=1")
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME};models_hdf")
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES TIMEOUT ${TIMEOUT})
@@ -83,6 +83,10 @@ INSTALL(FILES CTestTestfileInstall.cmake
   DESTINATION ${TEST_INSTALL_DIRECTORY}
   RENAME CTestTestfile.cmake)
 
+INSTALL(FILES testme.py DESTINATION ${TEST_INSTALL_DIRECTORY}
+                        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+                                    GROUP_READ GROUP_EXECUTE
+                                    WORLD_READ WORLD_EXECUTE)
 FILE(COPY test_hdf.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 INSTALL(FILES test_hdf.py DESTINATION ${TEST_INSTALL_DIRECTORY}
                           PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
diff --git a/test.hdfs/testme.py b/test.hdfs/testme.py
new file mode 100644 (file)
index 0000000..cd56bcd
--- /dev/null
@@ -0,0 +1,69 @@
+#!/usr/bin/env python3
+
+# Copyright (C) 2020-2021  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+if __name__ == '__main__':
+
+  import subprocess
+  from time import sleep
+  import sys, os
+  import tempfile
+
+  testTimeout = 600
+  if len(sys.argv) > 3:
+    testTimeout = int(sys.argv[1])
+    hdffile = sys.argv[2]
+    testdatafile = sys.argv[3]
+  else:
+    hdffile = sys.argv[1]
+    testdatafile = sys.argv[2]
+
+  tempdir = tempfile.gettempdir()
+  portlogfile = tempdir + "/.salome_port"
+  testlogfile = tempdir + "/test.log"
+  # remove port file if any
+  try:
+    os.remove(portlogfile)
+  except:
+    pass
+
+  isOk = True
+  error = ""
+
+  proc = subprocess.Popen(["runSalome.py", "--modules", "SHAPER,GEOM,SHAPERSTUDY", "--gui", "--splash", "0", "--ns-port-log=" + portlogfile, "test_hdf.py", "args:" + hdffile + "," + testdatafile + "," + portlogfile + "," + testlogfile], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+  try:
+    proc.communicate(timeout = testTimeout)
+  except TimeoutExpired:
+    isOk = False
+    proc.kill()
+    out, err = proc.communicate()
+    error = "Killed by CPU limit."
+    print(err)
+
+  with open(testlogfile, 'r') as inputFile:
+    s = inputFile.read()
+    print(s)
+    isOk = isOk and s.find("FAIL") < 0
+  try:
+    os.remove(testlogfile)
+  except:
+    pass
+
+  assert isOk, "Test failed. {}".format(error)