tc-testing: Allow test cases to be skipped
By adding a check for an optional key/value pair to the test case data, individual test cases may be skipped to prevent tdc from aborting a test run due to setup or teardown failure. If a test case is skipped, it will still appear in the results output to allow for a consistent number of executed tests in each run. However, the test will be marked as skipped. This support for skipping extends to any plugins that may generate additional results for each executed test. Signed-off-by: Lucas Bates <lucasb@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
745732c8ec
commit
255c1c7279
@@ -102,6 +102,14 @@ class SubPlugin(TdcPlugin):
|
||||
if not self.args.valgrind:
|
||||
return
|
||||
|
||||
res = TestResult('{}-mem'.format(self.args.testid),
|
||||
'{} memory leak check'.format(self.args.test_name))
|
||||
if self.args.test_skip:
|
||||
res.set_result(ResultState.skip)
|
||||
res.set_errormsg('Test case designated as skipped.')
|
||||
self._add_results(res)
|
||||
return
|
||||
|
||||
self.definitely_lost_re = re.compile(
|
||||
r'definitely lost:\s+([,0-9]+)\s+bytes in\s+([,0-9]+)\sblocks', re.MULTILINE | re.DOTALL)
|
||||
self.indirectly_lost_re = re.compile(
|
||||
@@ -134,8 +142,6 @@ class SubPlugin(TdcPlugin):
|
||||
nle_num = int(nle_mo.group(1))
|
||||
|
||||
mem_results = ''
|
||||
res = TestResult('{}-mem'.format(self.args.testid),
|
||||
'{} memory leak check'.format(self.args.test_name))
|
||||
if (def_num > 0) or (ind_num > 0) or (pos_num > 0) or (nle_num > 0):
|
||||
mem_results += 'not '
|
||||
res.set_result(ResultState.fail)
|
||||
@@ -146,12 +152,6 @@ class SubPlugin(TdcPlugin):
|
||||
|
||||
self._add_results(res)
|
||||
|
||||
mem_results += 'ok {} - {}-mem # {}\n'.format(
|
||||
self.args.test_ordinal, self.args.testid, 'memory leak check')
|
||||
self._add_to_tap(mem_results)
|
||||
if mem_results.startswith('not '):
|
||||
print('{}'.format(content))
|
||||
self._add_to_tap(content)
|
||||
|
||||
def _add_results(self, res):
|
||||
self._tsr.add_resultdata(res)
|
||||
|
Reference in New Issue
Block a user