1a5f9918aSopenharmony_ci
2a5f9918aSopenharmony_ciimport yaml, test_emitter
3a5f9918aSopenharmony_ci
4a5f9918aSopenharmony_cidef test_loader_error(error_filename, verbose=False):
5a5f9918aSopenharmony_ci    try:
6a5f9918aSopenharmony_ci        with open(error_filename, 'rb') as file:
7a5f9918aSopenharmony_ci            list(yaml.load_all(file, yaml.FullLoader))
8a5f9918aSopenharmony_ci    except yaml.YAMLError as exc:
9a5f9918aSopenharmony_ci        if verbose:
10a5f9918aSopenharmony_ci            print("%s:" % exc.__class__.__name__, exc)
11a5f9918aSopenharmony_ci    else:
12a5f9918aSopenharmony_ci        raise AssertionError("expected an exception")
13a5f9918aSopenharmony_ci
14a5f9918aSopenharmony_citest_loader_error.unittest = ['.loader-error']
15a5f9918aSopenharmony_ci
16a5f9918aSopenharmony_cidef test_loader_error_string(error_filename, verbose=False):
17a5f9918aSopenharmony_ci    try:
18a5f9918aSopenharmony_ci        with open(error_filename, 'rb') as file:
19a5f9918aSopenharmony_ci            list(yaml.load_all(file.read(), yaml.FullLoader))
20a5f9918aSopenharmony_ci    except yaml.YAMLError as exc:
21a5f9918aSopenharmony_ci        if verbose:
22a5f9918aSopenharmony_ci            print("%s:" % exc.__class__.__name__, exc)
23a5f9918aSopenharmony_ci    else:
24a5f9918aSopenharmony_ci        raise AssertionError("expected an exception")
25a5f9918aSopenharmony_ci
26a5f9918aSopenharmony_citest_loader_error_string.unittest = ['.loader-error']
27a5f9918aSopenharmony_ci
28a5f9918aSopenharmony_cidef test_loader_error_single(error_filename, verbose=False):
29a5f9918aSopenharmony_ci    try:
30a5f9918aSopenharmony_ci        with open(error_filename, 'rb') as file:
31a5f9918aSopenharmony_ci            yaml.load(file.read(), yaml.FullLoader)
32a5f9918aSopenharmony_ci    except yaml.YAMLError as exc:
33a5f9918aSopenharmony_ci        if verbose:
34a5f9918aSopenharmony_ci            print("%s:" % exc.__class__.__name__, exc)
35a5f9918aSopenharmony_ci    else:
36a5f9918aSopenharmony_ci        raise AssertionError("expected an exception")
37a5f9918aSopenharmony_ci
38a5f9918aSopenharmony_citest_loader_error_single.unittest = ['.single-loader-error']
39a5f9918aSopenharmony_ci
40a5f9918aSopenharmony_cidef test_emitter_error(error_filename, verbose=False):
41a5f9918aSopenharmony_ci    with open(error_filename, 'rb') as file:
42a5f9918aSopenharmony_ci        events = list(yaml.load(file, Loader=test_emitter.EventsLoader))
43a5f9918aSopenharmony_ci    try:
44a5f9918aSopenharmony_ci        yaml.emit(events)
45a5f9918aSopenharmony_ci    except yaml.YAMLError as exc:
46a5f9918aSopenharmony_ci        if verbose:
47a5f9918aSopenharmony_ci            print("%s:" % exc.__class__.__name__, exc)
48a5f9918aSopenharmony_ci    else:
49a5f9918aSopenharmony_ci        raise AssertionError("expected an exception")
50a5f9918aSopenharmony_ci
51a5f9918aSopenharmony_citest_emitter_error.unittest = ['.emitter-error']
52a5f9918aSopenharmony_ci
53a5f9918aSopenharmony_cidef test_dumper_error(error_filename, verbose=False):
54a5f9918aSopenharmony_ci    with open(error_filename, 'rb') as file:
55a5f9918aSopenharmony_ci        code = file.read()
56a5f9918aSopenharmony_ci    try:
57a5f9918aSopenharmony_ci        import yaml
58a5f9918aSopenharmony_ci        from io import StringIO
59a5f9918aSopenharmony_ci        exec(code)
60a5f9918aSopenharmony_ci    except yaml.YAMLError as exc:
61a5f9918aSopenharmony_ci        if verbose:
62a5f9918aSopenharmony_ci            print("%s:" % exc.__class__.__name__, exc)
63a5f9918aSopenharmony_ci    else:
64a5f9918aSopenharmony_ci        raise AssertionError("expected an exception")
65a5f9918aSopenharmony_ci
66a5f9918aSopenharmony_citest_dumper_error.unittest = ['.dumper-error']
67a5f9918aSopenharmony_ci
68a5f9918aSopenharmony_ciif __name__ == '__main__':
69a5f9918aSopenharmony_ci    import test_appliance
70a5f9918aSopenharmony_ci    test_appliance.run(globals())
71a5f9918aSopenharmony_ci
72