diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/__init__.py | 10 | ||||
-rw-r--r-- | tests/errors.py | 9 |
2 files changed, 18 insertions, 1 deletions
diff --git a/tests/__init__.py b/tests/__init__.py index e9737ec..aed3dc6 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,6 +1,6 @@ import unittest import os -from tests import parsing +from tests import parsing, errors class TestParsing(unittest.TestCase): def test_all(self) -> None: @@ -10,6 +10,14 @@ class TestParsing(unittest.TestCase): with self.subTest(file): parsing.test_path(self, f'{test_dir}/{file}') +class TestErrors(unittest.TestCase): + def test_all(self) -> None: + test_dir = '../tests/errors' + for file in os.listdir(test_dir): + if not file.endswith('.pom'): continue + with self.subTest(file): + errors.test_path(self, f'{test_dir}/{file}') + if __name__ == '__main__': unittest.main() diff --git a/tests/errors.py b/tests/errors.py new file mode 100644 index 0000000..841c30e --- /dev/null +++ b/tests/errors.py @@ -0,0 +1,9 @@ +import pom_parser +import unittest + +def test_path(tester: unittest.TestCase, path: str) -> None: + try: + pom_parser.load_path(path) + tester.fail(f'Parsing configuration {path} should have failed.') + except pom_parser.Error: + pass |