diff --git a/islpy/__init__.py b/islpy/__init__.py index 6d4e04f83d63b96ec307cfb3fb3cbbdfeba987a0..48ee155d601c8889da68487335bc78ac2f7bd74f 100644 --- a/islpy/__init__.py +++ b/islpy/__init__.py @@ -190,6 +190,7 @@ def _add_functionality(): # exception. This is creates a semi-valid state that's just good # enough to get us past the __del__ method. self.data = None + raise else: self._setup(new_me._release()) diff --git a/test/test_isl.py b/test/test_isl.py index b5469c8c70d6ac27d35e01a10b6153c8b8b10518..28f023d3ca9c90a4260f8852ed501a57f62e2c20 100644 --- a/test/test_isl.py +++ b/test/test_isl.py @@ -292,6 +292,14 @@ def test_id_constructor(): isl.Id(context=ctx, name='x0') +def test_creation_error(): + # note the (intentional) syntax error + with pytest.raises(isl.Error): + isl.BasicSet( + "[n0, n1] -> " + "{ [i0, i1, i2] : 0 <= i0 < n1 and 0 and 0 <= i2 <= 15 }") + + if __name__ == "__main__": import sys if len(sys.argv) > 1: