]> SALOME platform Git repositories - modules/shaper.git/blob - test.hdfs/test.py
Salome HOME
Print debug info while testing HDF (debug Jenkins hang)
[modules/shaper.git] / test.hdfs / test.py
1 #!/usr/bin/env python
2 if __name__ == '__main__':
3
4   from subprocess import Popen
5   from time import sleep
6   import sys, os
7
8   salomeKernelDir = sys.argv[1]
9   sourceDir = sys.argv[2]
10   testfile = sys.argv[3]
11
12   portlogfile = os.getcwd() + "/.salome_port"
13   testlogfile = os.getcwd() + "/test.log"
14   # remove port file if any
15   try:
16     os.remove(portlogfile)
17   except:
18     pass
19
20   # ===========================================
21   dbgFile = open(os.getcwd() + "/dbgfile", 'w')
22   print("TEST start", file=dbgFile)
23   dbgFile.close()
24   # ===========================================
25   proc = Popen([salomeKernelDir + "/bin/salome/runSalome.py", "--modules", "SHAPER,GEOM", "--gui", "--ns-port-log=" + portlogfile, sourceDir + "/test_hdf.py", "args:" + testfile + "," + portlogfile + "," + testlogfile + "," + salomeKernelDir + "," + sourceDir])
26   # ===========================================
27   dbgFile = open(os.getcwd() + "/dbgfile", 'a')
28   print("TEST Salome started", file=dbgFile)
29   dbgFile.close()
30   # ===========================================
31
32   iter = 0
33   while not os.path.exists(portlogfile) and iter < 100:
34     sleep(0.1)
35     iter += 1
36
37   while os.path.exists(portlogfile):
38     sleep(0.1)
39
40   # ===========================================
41   dbgFile = open(os.getcwd() + "/dbgfile", 'a')
42   print("TEST process log file", file=dbgFile)
43   dbgFile.close()
44   # ===========================================
45   isOk = True
46   with open(testlogfile, 'r') as inputFile:
47     s = inputFile.read()
48     print(s)
49     for line in s:
50       isOk = isOk and s.find("FAIL") < 0
51   try:
52     os.remove(testlogfile)
53   except:
54     pass
55
56   # ===========================================
57   dbgFile = open(os.getcwd() + "/dbgfile", 'a')
58   print("TEST finished {}".format(isOk), file=dbgFile)
59   dbgFile.close()
60   # ===========================================
61   assert isOk, "Test failed"