62 raise
63 self.stream.close()
64 self.stream = self._open()
65 self.tries += 1
66
67 class Result(object):
68 total = 0
69 runresults = {'PASS': 0, 'FAIL': 0, 'SKIP': 0, 'KILLED': 0}
70
71 def __init__(self):
72 self.starttime = None
73 self.returncode = None
74 self.runtime = ''
75 self.stdout = []
76 self.stderr = []
77 self.result = ''
78
79 def done(self, proc, killed):
80 """
81 Finalize the results of this Cmd.
82 """
83 Result.total += 1
84 m, s = divmod(time() - self.starttime, 60)
85 self.runtime = '%02d:%02d' % (m, s)
86 self.returncode = proc.returncode
87 if killed:
88 self.result = 'KILLED'
89 Result.runresults['KILLED'] += 1
90 elif self.returncode is 0:
91 self.result = 'PASS'
92 Result.runresults['PASS'] += 1
93 elif self.returncode is not 0:
94 self.result = 'FAIL'
95 Result.runresults['FAIL'] += 1
96
97
98 class Output(object):
99 """
100 This class is a slightly modified version of the 'Stream' class found
101 here: http://goo.gl/aSGfv
102 """
103 def __init__(self, stream):
104 self.stream = stream
105 self._buf = ''
106 self.lines = []
107
108 def fileno(self):
109 return self.stream.fileno()
110
111 def read(self, drain=0):
112 """
|
62 raise
63 self.stream.close()
64 self.stream = self._open()
65 self.tries += 1
66
67 class Result(object):
68 total = 0
69 runresults = {'PASS': 0, 'FAIL': 0, 'SKIP': 0, 'KILLED': 0}
70
71 def __init__(self):
72 self.starttime = None
73 self.returncode = None
74 self.runtime = ''
75 self.stdout = []
76 self.stderr = []
77 self.result = ''
78
79 def done(self, proc, killed):
80 """
81 Finalize the results of this Cmd.
82 Report SKIP for return codes 3,4 (NOTINUSE, UNSUPPORTED)
83 as defined in ../stf/include/stf.shlib
84 """
85 Result.total += 1
86 m, s = divmod(time() - self.starttime, 60)
87 self.runtime = '%02d:%02d' % (m, s)
88 self.returncode = proc.returncode
89 if killed:
90 self.result = 'KILLED'
91 Result.runresults['KILLED'] += 1
92 elif self.returncode is 0:
93 self.result = 'PASS'
94 Result.runresults['PASS'] += 1
95 elif self.returncode is 3 or self.returncode is 4:
96 self.result = 'SKIP'
97 Result.runresults['SKIP'] += 1
98 elif self.returncode is not 0:
99 self.result = 'FAIL'
100 Result.runresults['FAIL'] += 1
101
102
103 class Output(object):
104 """
105 This class is a slightly modified version of the 'Stream' class found
106 here: http://goo.gl/aSGfv
107 """
108 def __init__(self, stream):
109 self.stream = stream
110 self._buf = ''
111 self.lines = []
112
113 def fileno(self):
114 return self.stream.fileno()
115
116 def read(self, drain=0):
117 """
|