Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import yaml
- def check_test_step_keys(step):
- assert isinstance(step, dict)
- assert 'command' in step.keys() or 'uartcmd' in step.keys(), "Step is missing a command/uartcmd key"
- def check_test_suite_keys(item):
- # check each required key is included
- assert 'title' in item.keys(), "Test item is missing a title!"
- assert 'steps' in item.keys(), "Test item is missing steps!"
- # make sure each key is valid
- for key in item.keys():
- assert key in ['title', 'retry', 'steps', 'ident'], f"Invalid key in test plan: {key}"
- # check retry type
- if 'retry' in item.keys():
- assert isinstance(item['retry'], int), "'retry' must be an integer!"
- def check_test_plan_keys(plan):
- # check each required key is included
- assert 'title' in plan.keys(), "Test plan is missing a title!"
- assert 'suite' in plan.keys(), "Test plan is missing suite!"
- # make sure each key is valid
- for key in plan.keys():
- assert key in ['title', 'suite', 'identPrefix'], f"Invalid key in test plan: {key}"
- with open(sys.argv[1], 'r') as f:
- data = yaml.load(f.read())
- check_test_plan_keys(data)
- assert isinstance(data['suite'], list)
- for item in data['suite']:
- try:
- check_test_suite_keys(item)
- for step in item['steps']:
- check_test_step_keys(step)
- except Exception as e:
- print("error occurred in this block:")
- print(yaml.dump(item))
- print("-----------------------------")
- raise e
- print('file is valid!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement