65 lines
2.1 KiB
Python
65 lines
2.1 KiB
Python
import logging
|
|
|
|
|
|
# Uncomment for debug purpose.
|
|
# Use 'all' or specific 'io', 'dsp', 'msgproc', 'secmod', 'mibbuild', 'mibview', 'mibinstrum', 'acl', 'proxy', 'app'
|
|
# debug.setLogger(debug.Debug('all'))
|
|
|
|
#
|
|
# Main Class used for recording results
|
|
#
|
|
class RecordTestStep:
|
|
class StepData:
|
|
def __init__(self, _desc, _result, _error, _expected):
|
|
self.step = dict()
|
|
self.step['desc'] = _desc
|
|
self.step['result'] = _result
|
|
self.step['error'] = _error
|
|
self.step['expected'] = _expected
|
|
|
|
def get(self):
|
|
return self.step
|
|
|
|
class SessionData:
|
|
def __init__(self, _desc, _pass, _error, _first, _last):
|
|
self.test = dict()
|
|
self.test['name'] = _desc
|
|
self.test['pass'] = _pass
|
|
self.test['fail'] = _error
|
|
self.idx_first = _first
|
|
self.idx_last = _last
|
|
|
|
def get(self):
|
|
return self.test
|
|
|
|
def __init__(self):
|
|
self.__step_data = []
|
|
self.__test_session = []
|
|
self.prev_idx = 0
|
|
|
|
def add_step(self, desc, result, error, expected):
|
|
self.__step_data.append(self.StepData(desc, result, error, expected).get())
|
|
|
|
def get_db_session(self):
|
|
return self.__test_session
|
|
|
|
def get_db(self):
|
|
return self.__step_data
|
|
|
|
def close_session(self, name: str):
|
|
db_step = self.__step_data[self.prev_idx:]
|
|
te = lambda x: 1 if x['result'] and x['error'] is None and x['expected'] is None else 0
|
|
va = lambda x, y: 1 if x['result'] == y else 0
|
|
text = sum(te(i) for i in db_step)
|
|
ok = sum(va(i, True) for i in db_step) - text
|
|
nok = sum(va(i, False) for i in db_step)
|
|
idx = len(self.__step_data)
|
|
self.__test_session.append(self.SessionData(name, ok, nok, self.prev_idx, idx))
|
|
self.prev_idx = idx
|
|
if (ok + nok) > 0:
|
|
logging.warning('Session: {}\r\nTotal Step {}: Success {} ({:.02f}%), Failed {} ({:.02f}%),'
|
|
.format(name, ok + nok, ok, 100 * ok / (ok + nok), nok, 100 * nok / (ok + nok)))
|
|
|
|
|
|
theRecorder = RecordTestStep()
|