| Revision 328,
957 bytes
checked in by xi, 4 years ago
(diff) |
|
Added basic support for Python 3 (Thanks idadesub(at)users(dot)sourceforge(dot)net).
|
| Rev | Line | |
|---|
| [45] | 1 | |
|---|
| [322] | 2 | import yaml.reader |
|---|
| [45] | 3 | |
|---|
| [322] | 4 | def _run_reader(data, verbose): |
|---|
| 5 | try: |
|---|
| 6 | stream = yaml.reader.Reader(data) |
|---|
| [328] | 7 | while stream.peek() != '\0': |
|---|
| [45] | 8 | stream.forward() |
|---|
| [328] | 9 | except yaml.reader.ReaderError as exc: |
|---|
| [322] | 10 | if verbose: |
|---|
| [328] | 11 | print(exc) |
|---|
| [322] | 12 | else: |
|---|
| 13 | raise AssertionError("expected an exception") |
|---|
| [45] | 14 | |
|---|
| [322] | 15 | def test_stream_error(error_filename, verbose=False): |
|---|
| 16 | _run_reader(open(error_filename, 'rb'), verbose) |
|---|
| 17 | _run_reader(open(error_filename, 'rb').read(), verbose) |
|---|
| 18 | for encoding in ['utf-8', 'utf-16-le', 'utf-16-be']: |
|---|
| 19 | try: |
|---|
| [328] | 20 | data = open(error_filename, 'rb').read().decode(encoding) |
|---|
| [322] | 21 | break |
|---|
| 22 | except UnicodeDecodeError: |
|---|
| 23 | pass |
|---|
| 24 | else: |
|---|
| 25 | return |
|---|
| 26 | _run_reader(data, verbose) |
|---|
| [328] | 27 | _run_reader(open(error_filename, encoding=encoding), verbose) |
|---|
| [45] | 28 | |
|---|
| [322] | 29 | test_stream_error.unittest = ['.stream-error'] |
|---|
| [45] | 30 | |
|---|
| [322] | 31 | if __name__ == '__main__': |
|---|
| 32 | import test_appliance |
|---|
| 33 | test_appliance.run(globals()) |
|---|
| 34 | |
|---|
Note: See
TracBrowser
for help on using the repository browser.