diff --git a/src/systemrdl/flags.py b/src/systemrdl/flags.py new file mode 100644 index 0000000..b63a374 --- /dev/null +++ b/src/systemrdl/flags.py @@ -0,0 +1,6 @@ +from absl import flags + +HETERO_ARRAYS = flags.DEFINE_bool( + 'experimental_hetero_arrays', + False, + 'Support heterogeneous arrays.') diff --git a/test/rdl_err_src/hetero_array.rdl b/test/rdl_err_src/hetero_array.rdl new file mode 100644 index 0000000..a94fad4 --- /dev/null +++ b/test/rdl_err_src/hetero_array.rdl @@ -0,0 +1,13 @@ +addrmap top { + reg reg_t { + field{} f; + }; + + regfile { + reg { + field {} f; + } some_reg; + } some_rf[2]; + + some_ref[0].some_reg->name = "foobar"; +}; diff --git a/test/requirements.txt b/test/requirements.txt index 12d00f3..ca610ab 100644 --- a/test/requirements.txt +++ b/test/requirements.txt @@ -1,3 +1,4 @@ +absl-py pytest pytest-cov parameterized diff --git a/test/test_hetero_array.py b/test/test_hetero_array.py new file mode 100644 index 0000000..83427de --- /dev/null +++ b/test/test_hetero_array.py @@ -0,0 +1,16 @@ +from absl.testing import flagsaver +from unittest_utils import RDLSourceTestCase + +class TestHeteroArray(RDLSourceTestCase): + """Test hetero arrays.""" + + maxDiff = None # pylint: disable=invalid-name + + @flagsaver.flagsaver(experimental_hetero_arrays=False) + def test_disabled(self): + self.assertRDLCompileError( + ['rdl_err_src/hetero_array.rdl'], + None, + 'Use of array suffixes in dynamic property assignments is not' + ' supported', + ) diff --git a/test/unittest_utils.py b/test/unittest_utils.py index 801ac82..9933fd9 100644 --- a/test/unittest_utils.py +++ b/test/unittest_utils.py @@ -3,6 +3,8 @@ import logging import re +import systemrdl.flags + from antlr4 import InputStream from systemrdl import RDLCompiler from systemrdl.parser import sa_systemrdl