-# Run test
-def runTest(command):
- print "Running:", " ".join(command)
- p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- out, err = p.communicate()
- res = p.returncode
- # About res value:
- # A negative value -N indicates that the child was terminated by signal N (Unix only).
- # On Unix, the value 11 generally corresponds to a segmentation fault.
- return res, out, err
-#
-
-def processResultSpecialParavis(res, out, err):
- # :TRICKY: Special case of returncode=127
- # When using paraview in SALOME environment, the following error
- # systematically appears when exiting paraview (it's also true when using
- # PARAVIS and exiting SALOME):
- # Inconsistency detected by ld.so: dl-close.c: 738: _dl_close: Assertion `map->l_init_called' failed!
- # For PARAVIS tests purpose, paraview functionalities are accessed in each
- # test; these tests are run in the above subprocess call.
- # The assertion error implies a subprocess return code of 127, and the test
- # status is considered as "failed".
- # The tricky part here is to discard such return codes, waiting for a fix
- # maybe in paraview...
- if res == 127 and err.startswith("Inconsistency detected by ld.so: dl-close.c"):
- print " ** THE FOLLOWING MESSAGE IS DISCARDED WHEN ANALYZING TEST SUCCESSFULNESS **"
- print err,
- print " ** end of message **"
- res = 0
- elif err:
- print " ** Detected error **"
- print "Error code: ", res
- print err,
- print " ** end of message **"
- pass
-
- if out:
- print out
- return res
-#
-
-# Display output and errors
-def processResult(res, out, err):
- if out:
- print out
- pass
- if err:
- print err
- print "Status code: ", res
- return res
-#
-