def include_files(self, filename):
materialized_tests = []
f = open(filename, encoding='utf-8')
if f:
try:
settings = json.load(f)
except JSONDecodeError as e:
data = open(filename, 'r').read()
print("{filename}:{line}:{col}: failed to decode json: {msg}".format(filename=filename, line=e.lineno,
col=e.colno, msg=e.msg))
print("\tGave up here: {context} ?".format(
context=repr(data[max(0, e.pos - 40):e.pos + 1].translate(str.maketrans("\t\n", " ")))))
exit(1)
tests = settings["tests"]
it = iter(tests)
for item in it:
if 'include' in item:
inc_filename = item['include']
if not os.path.isabs(inc_filename):
base_path = os.path.dirname(filename)
inc_filename = os.path.join(base_path, inc_filename)
inc = self.include_files(inc_filename)
materialized_tests.extend(inc)
else:
materialized_tests.append(item)
return materialized_tests
评论列表
文章目录