1a5f9918aSopenharmony_ci 2a5f9918aSopenharmony_ciimport yaml, canonical 3a5f9918aSopenharmony_ci 4a5f9918aSopenharmony_cidef test_canonical_scanner(canonical_filename, verbose=False): 5a5f9918aSopenharmony_ci with open(canonical_filename, 'rb') as file: 6a5f9918aSopenharmony_ci data = file.read() 7a5f9918aSopenharmony_ci tokens = list(yaml.canonical_scan(data)) 8a5f9918aSopenharmony_ci assert tokens, tokens 9a5f9918aSopenharmony_ci if verbose: 10a5f9918aSopenharmony_ci for token in tokens: 11a5f9918aSopenharmony_ci print(token) 12a5f9918aSopenharmony_ci 13a5f9918aSopenharmony_citest_canonical_scanner.unittest = ['.canonical'] 14a5f9918aSopenharmony_ci 15a5f9918aSopenharmony_cidef test_canonical_parser(canonical_filename, verbose=False): 16a5f9918aSopenharmony_ci with open(canonical_filename, 'rb') as file: 17a5f9918aSopenharmony_ci data = file.read() 18a5f9918aSopenharmony_ci events = list(yaml.canonical_parse(data)) 19a5f9918aSopenharmony_ci assert events, events 20a5f9918aSopenharmony_ci if verbose: 21a5f9918aSopenharmony_ci for event in events: 22a5f9918aSopenharmony_ci print(event) 23a5f9918aSopenharmony_ci 24a5f9918aSopenharmony_citest_canonical_parser.unittest = ['.canonical'] 25a5f9918aSopenharmony_ci 26a5f9918aSopenharmony_cidef test_canonical_error(data_filename, canonical_filename, verbose=False): 27a5f9918aSopenharmony_ci with open(data_filename, 'rb') as file: 28a5f9918aSopenharmony_ci data = file.read() 29a5f9918aSopenharmony_ci try: 30a5f9918aSopenharmony_ci output = list(yaml.canonical_load_all(data)) 31a5f9918aSopenharmony_ci except yaml.YAMLError as exc: 32a5f9918aSopenharmony_ci if verbose: 33a5f9918aSopenharmony_ci print(exc) 34a5f9918aSopenharmony_ci else: 35a5f9918aSopenharmony_ci raise AssertionError("expected an exception") 36a5f9918aSopenharmony_ci 37a5f9918aSopenharmony_citest_canonical_error.unittest = ['.data', '.canonical'] 38a5f9918aSopenharmony_citest_canonical_error.skip = ['.empty'] 39a5f9918aSopenharmony_ci 40a5f9918aSopenharmony_ciif __name__ == '__main__': 41a5f9918aSopenharmony_ci import test_appliance 42a5f9918aSopenharmony_ci test_appliance.run(globals()) 43a5f9918aSopenharmony_ci 44