From 25e79865301e6e017c327433b14feaa26011f3fa Mon Sep 17 00:00:00 2001
From: markus holzer <markus.holzer@fau.de>
Date: Wed, 3 Mar 2021 15:27:15 +0100
Subject: [PATCH] Added more test cases

---
 pystencils_tests/test_vectorization_specific.py | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/pystencils_tests/test_vectorization_specific.py b/pystencils_tests/test_vectorization_specific.py
index 093ca6a00..2ce2d9c04 100644
--- a/pystencils_tests/test_vectorization_specific.py
+++ b/pystencils_tests/test_vectorization_specific.py
@@ -54,22 +54,26 @@ def test_vectorized_abs(instruction_set, dtype):
 
 @pytest.mark.parametrize('dtype', ('float', 'double'))
 @pytest.mark.parametrize('instruction_set', supported_instruction_sets)
-def test_alignment_and_correct_ghost_layers(instruction_set, dtype):
+@pytest.mark.parametrize('ghost_layers', [(1, 0), (0, 1), (1, 1)])
+def test_alignment_and_correct_ghost_layers(ghost_layers, instruction_set, dtype):
     itemsize = 8 if dtype == 'double' else 4
     alignment = get_vector_instruction_set(dtype, instruction_set)['width'] * itemsize
     dtype = np.float64 if dtype == 'double' else np.float32
 
     domain_size = (128, 128)
     dh = ps.create_data_handling(domain_size, periodicity=(True, True), default_target='cpu')
-    src = dh.add_array("src", values_per_cell=1, dtype=dtype, ghost_layers=1, alignment=alignment)
+    src = dh.add_array("src", values_per_cell=1, dtype=dtype, ghost_layers=ghost_layers[0], alignment=alignment)
     dh.fill(src.name, 1.0, ghost_layers=True)
-    dst = dh.add_array("dst", values_per_cell=1, dtype=dtype, ghost_layers=1, alignment=alignment)
+    dst = dh.add_array("dst", values_per_cell=1, dtype=dtype, ghost_layers=ghost_layers[0], alignment=alignment)
     dh.fill(dst.name, 1.0, ghost_layers=True)
 
     update_rule = ps.Assignment(dst[0, 0], src[0, 0])
     opt = {'instruction_set': instruction_set, 'assume_aligned': True,
            'nontemporal': True, 'assume_inner_stride_one': True}
-    ast = ps.create_kernel(update_rule, target=dh.default_target, cpu_vectorize_info=opt, ghost_layers=0)
+    ast = ps.create_kernel(update_rule, target=dh.default_target, cpu_vectorize_info=opt, ghost_layers=ghost_layers[1])
     kernel = ast.compile()
-    with pytest.raises(ValueError):
+    if ghost_layers[0] != ghost_layers[1]:
+        with pytest.raises(ValueError):
+            dh.run_kernel(kernel)
+    else:
         dh.run_kernel(kernel)
\ No newline at end of file
-- 
GitLab