ast: ensure Part offset is unsigned.

Co-authored-by: Marcelina Kościelnicka <mwk@0x04.net>
This commit is contained in:
Catherine 2023-08-21 05:19:24 +00:00
parent 8c4a15ab92
commit 21b5451036
2 changed files with 17 additions and 2 deletions

View file

@ -785,6 +785,11 @@ class BitSelectTestCase(FHDLTestCase):
s = self.c.bit_select(self.s, 2)
self.assertEqual(repr(s), "(part (const 8'd0) (sig s) 2 1)")
def test_offset_wrong(self):
with self.assertRaisesRegex(TypeError,
r"^Part offset must be unsigned$"):
self.c.bit_select(self.s.as_signed(), 1)
class WordSelectTestCase(FHDLTestCase):
def setUp(self):
@ -817,6 +822,11 @@ class WordSelectTestCase(FHDLTestCase):
s = self.c.word_select(self.s, 2)
self.assertEqual(repr(s), "(part (const 8'd0) (sig s) 2 2)")
def test_offset_wrong(self):
with self.assertRaisesRegex(TypeError,
r"^Part offset must be unsigned$"):
self.c.word_select(self.s.as_signed(), 1)
class CatTestCase(FHDLTestCase):
def test_shape(self):