From 961b318bf0e19ba41225358e89d6e1b75424bf27 Mon Sep 17 00:00:00 2001 From: loicgasser Date: Thu, 24 Aug 2017 16:24:43 +0000 Subject: [PATCH] Add max recursion test --- tests/samples/include1_recursive.map | 4 ++++ tests/samples/include2_recursive.map | 3 +++ tests/samples/include3_recursive.map | 4 ++++ tests/samples/include4_recursive.map | 3 +++ tests/samples/include5_recursive.map | 2 ++ tests/samples/include6_recursive.map | 2 ++ tests/samples/include7_recursive.map | 1 + tests/test_sample_maps.py | 8 ++++++++ 8 files changed, 27 insertions(+) create mode 100644 tests/samples/include1_recursive.map create mode 100644 tests/samples/include2_recursive.map create mode 100644 tests/samples/include3_recursive.map create mode 100644 tests/samples/include4_recursive.map create mode 100644 tests/samples/include5_recursive.map create mode 100644 tests/samples/include6_recursive.map create mode 100644 tests/samples/include7_recursive.map diff --git a/tests/samples/include1_recursive.map b/tests/samples/include1_recursive.map new file mode 100644 index 0000000..1ddf211 --- /dev/null +++ b/tests/samples/include1_recursive.map @@ -0,0 +1,4 @@ +MAP + NAME 'include_test' + INCLUDE 'include2_recursive.map' +END diff --git a/tests/samples/include2_recursive.map b/tests/samples/include2_recursive.map new file mode 100644 index 0000000..c6edbe5 --- /dev/null +++ b/tests/samples/include2_recursive.map @@ -0,0 +1,3 @@ +LAYER + INCLUDE 'include3_recursive.map' +END diff --git a/tests/samples/include3_recursive.map b/tests/samples/include3_recursive.map new file mode 100644 index 0000000..128a670 --- /dev/null +++ b/tests/samples/include3_recursive.map @@ -0,0 +1,4 @@ +CLASS + NAME 'test_class' + INCLUDE 'include4_recursive.map' +END diff --git a/tests/samples/include4_recursive.map b/tests/samples/include4_recursive.map new file mode 100644 index 0000000..5ff628a --- /dev/null +++ b/tests/samples/include4_recursive.map @@ -0,0 +1,3 @@ +STYLE + INCLUDE 'include5_recursive.map' +END diff --git a/tests/samples/include5_recursive.map b/tests/samples/include5_recursive.map new file mode 100644 index 0000000..c611330 --- /dev/null +++ b/tests/samples/include5_recursive.map @@ -0,0 +1,2 @@ +COLOR 0 0 0 +INCLUDE 'include6_recursive.map' diff --git a/tests/samples/include6_recursive.map b/tests/samples/include6_recursive.map new file mode 100644 index 0000000..52dbcb0 --- /dev/null +++ b/tests/samples/include6_recursive.map @@ -0,0 +1,2 @@ +SIZE 8 +INCLUDE 'include7_recursive.map' diff --git a/tests/samples/include7_recursive.map b/tests/samples/include7_recursive.map new file mode 100644 index 0000000..3d2a56c --- /dev/null +++ b/tests/samples/include7_recursive.map @@ -0,0 +1 @@ +OUTLINECOLOR 255 255 255 diff --git a/tests/test_sample_maps.py b/tests/test_sample_maps.py index 953409d..df472f1 100644 --- a/tests/test_sample_maps.py +++ b/tests/test_sample_maps.py @@ -46,6 +46,14 @@ def test_includes_nested_path(): print(mappyfile.dumps(d)) +def test_includes_max_recursion(): + p = Parser() + + with pytest.raises(Exception) as excinfo: + p.parse_file('./tests/samples/include1_recursive.map') + + assert 'Maximum nested include exceeded' in str(excinfo.value) + def run_tests(): pytest.main(["tests/test_sample_maps.py"])