tc-testing: Allow tdc plugins to see test case data
Instead of only passing the test case name and ID, pass the entire current test case down to the plugins. This change allows plugins to start accepting commands and directives from the test cases themselves, for greater flexibility in testing. Signed-off-by: Lucas Bates <lucasb@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a1cd4e4324
commit
a7d50a0dd8
|
@ -18,12 +18,11 @@ class TdcPlugin:
|
|||
if self.args.verbose > 1:
|
||||
print(' -- {}.post_suite'.format(self.sub_class))
|
||||
|
||||
def pre_case(self, testid, test_name, test_skip):
|
||||
def pre_case(self, caseinfo, test_skip):
|
||||
'''run commands before test_runner does one test'''
|
||||
if self.args.verbose > 1:
|
||||
print(' -- {}.pre_case'.format(self.sub_class))
|
||||
self.args.testid = testid
|
||||
self.args.test_name = test_name
|
||||
self.args.caseinfo = caseinfo
|
||||
self.args.test_skip = test_skip
|
||||
|
||||
def post_case(self):
|
||||
|
|
|
@ -122,15 +122,15 @@ class PluginMgr:
|
|||
for pgn_inst in reversed(self.plugin_instances):
|
||||
pgn_inst.post_suite(index)
|
||||
|
||||
def call_pre_case(self, testid, test_name, *, test_skip=False):
|
||||
def call_pre_case(self, caseinfo, *, test_skip=False):
|
||||
for pgn_inst in self.plugin_instances:
|
||||
try:
|
||||
pgn_inst.pre_case(testid, test_name, test_skip)
|
||||
pgn_inst.pre_case(caseinfo, test_skip)
|
||||
except Exception as ee:
|
||||
print('exception {} in call to pre_case for {} plugin'.
|
||||
format(ee, pgn_inst.__class__))
|
||||
print('test_ordinal is {}'.format(test_ordinal))
|
||||
print('testid is {}'.format(testid))
|
||||
print('testid is {}'.format(caseinfo['id']))
|
||||
raise
|
||||
|
||||
def call_post_case(self):
|
||||
|
@ -261,14 +261,14 @@ def run_one_test(pm, args, index, tidx):
|
|||
res = TestResult(tidx['id'], tidx['name'])
|
||||
res.set_result(ResultState.skip)
|
||||
res.set_errormsg('Test case designated as skipped.')
|
||||
pm.call_pre_case(tidx['id'], tidx['name'], test_skip=True)
|
||||
pm.call_pre_case(tidx, test_skip=True)
|
||||
pm.call_post_execute()
|
||||
return res
|
||||
|
||||
# populate NAMES with TESTID for this test
|
||||
NAMES['TESTID'] = tidx['id']
|
||||
|
||||
pm.call_pre_case(tidx['id'], tidx['name'])
|
||||
pm.call_pre_case(tidx)
|
||||
prepare_env(args, pm, 'setup', "-----> prepare stage", tidx["setup"])
|
||||
|
||||
if (args.verbose > 0):
|
||||
|
|
Loading…
Reference in New Issue