tools: tc-testing: Can refer to $TESTID in test spec

When processing the commands in the test cases, substitute
the test id for $TESTID.  This helps to make more flexible
tests.  For example, the testid can be given as a command
line argument.

As an example, if we wish to save the test output to a file
named for the test case, we can write in the test case:

"cmdUnderTest": "some test command | tee -a $TESTID.out"

Signed-off-by: Brenda J. Butler <bjb@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Brenda J. Butler 2018-03-08 15:27:44 -05:00 committed by David S. Miller
parent b19e5c1515
commit 75291f3a6b

View file

@ -177,6 +177,7 @@ def prepare_env(args, pm, stage, prefix, cmdlist, output = None):
'"{}" did not complete successfully'.format(prefix))
def run_one_test(pm, args, index, tidx):
global NAMES
result = True
tresult = ""
tap = ""
@ -184,6 +185,9 @@ def run_one_test(pm, args, index, tidx):
print("\t====================\n=====> ", end="")
print("Test " + tidx["id"] + ": " + tidx["name"])
# populate NAMES with TESTID for this test
NAMES['TESTID'] = tidx['id']
pm.call_pre_case(index, tidx['id'])
prepare_env(args, pm, 'setup', "-----> prepare stage", tidx["setup"])
@ -227,6 +231,8 @@ def run_one_test(pm, args, index, tidx):
index += 1
# remove TESTID from NAMES
del(NAMES['TESTID'])
return tap
def test_runner(pm, args, filtered_tests):