Salome HOME
[EDF29322] Revert "[EDF] Taking SALOME launcher options into account through environm...
[modules/kernel.git] / bin / runTests.py
index 0013129ea3e6144a331aeebdcd8257a5df042e6e..d1d5656c3df90844c9b657558b6164df83d48672 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2015-2024  CEA, EDF, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -65,7 +65,7 @@ For complete description of available options, pleaser refer to ctest documentat
     return []
 
   if args[0] in ["-h", "--help"]:
-    print usage + epilog
+    print(usage + epilog)
     sys.exit(0)
 
   return args
@@ -74,37 +74,6 @@ For complete description of available options, pleaser refer to ctest documentat
 # tests must be in ${ABSOLUTE_APPLI_PATH}/${__testSubDir}/
 __testSubDir = "bin/salome/test"
 
-# Both display process stdout&stderr to console and capture them to variables
-def __runTest(command, workdir):
-  p = subprocess.Popen(command, cwd=workdir, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=0)
-  stdout = []
-  stderr = []
-
-  while True:
-    reads = [p.stdout.fileno(), p.stderr.fileno()]
-    ret = select.select(reads, [], [], 0)
-
-    for fd in ret[0]:
-      if fd == p.stdout.fileno():
-        read = p.stdout.readline()
-        sys.stdout.write(read)
-        stdout.append(read)
-        pass
-      if fd == p.stderr.fileno():
-        read = p.stderr.readline()
-        sys.stderr.write(read)
-        stderr.append(read)
-        pass
-      pass
-
-    returncode = p.poll()
-    if not returncode is None:
-      break
-    pass
-
-  return p.returncode, "".join(stdout), "".join(stderr)
-#
-
 def runTests(args, exe=None):
   args = __configureTests(args, exe)
 
@@ -115,7 +84,7 @@ def runTests(args, exe=None):
   testPath = os.path.join(appliPath, __testSubDir)
 
   command = ["ctest"] + args
-  res, out, err = __runTest(command, testPath)
-
-  sys.exit(res)
+  p = subprocess.Popen(command, cwd=testPath)
+  p.communicate()
+  return p.returncode
 #