tc-testing: better test case file error reporting
tdc.py reads a bunch of test cases in json files. When a json file cannot be parsed, tdc just exits and does not run any tests. This patch will cause tdc to print a message with the file name and line number, then that file will be ignored and the rest of the tests will be processed. Signed-off-by: Brenda J. Butler <bjb@mojatatu.com> Acked-by: Lucas Bates <lucasb@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6c26c3fbc3
commit
170b8ffa71
|
@ -179,15 +179,20 @@ def has_blank_ids(idlist):
|
|||
|
||||
def load_from_file(filename):
|
||||
"""
|
||||
Open the JSON file containing the test cases and return them as an
|
||||
ordered dictionary object.
|
||||
Open the JSON file containing the test cases and return them
|
||||
as list of ordered dictionary objects.
|
||||
"""
|
||||
with open(filename) as test_data:
|
||||
testlist = json.load(test_data, object_pairs_hook=OrderedDict)
|
||||
idlist = get_id_list(testlist)
|
||||
if (has_blank_ids(idlist)):
|
||||
for k in testlist:
|
||||
k['filename'] = filename
|
||||
try:
|
||||
with open(filename) as test_data:
|
||||
testlist = json.load(test_data, object_pairs_hook=OrderedDict)
|
||||
except json.JSONDecodeError as jde:
|
||||
print('IGNORING test case file {}\n\tBECAUSE: {}'.format(filename, jde))
|
||||
testlist = list()
|
||||
else:
|
||||
idlist = get_id_list(testlist)
|
||||
if (has_blank_ids(idlist)):
|
||||
for k in testlist:
|
||||
k['filename'] = filename
|
||||
return testlist
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue