From d5a16b31a1a653d4e431dc82cb6ed4abdaf611cb Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Fri, 19 Jun 2026 21:43:57 -0700 Subject: [PATCH] Add regression test for empty old-style UDP table Check that an empty old-style UDP table reports the parser error and the invalid primitive error instead of crashing. Signed-off-by: Lars-Peter Clausen --- ivtest/gold/udp_empty_table_fail-iverilog-stderr.gold | 2 ++ ivtest/ivltests/udp_empty_table_fail.v | 9 +++++++++ ivtest/regress-vvp.list | 1 + ivtest/vvp_tests/udp_empty_table_fail.json | 5 +++++ 4 files changed, 17 insertions(+) create mode 100644 ivtest/gold/udp_empty_table_fail-iverilog-stderr.gold create mode 100644 ivtest/ivltests/udp_empty_table_fail.v create mode 100644 ivtest/vvp_tests/udp_empty_table_fail.json diff --git a/ivtest/gold/udp_empty_table_fail-iverilog-stderr.gold b/ivtest/gold/udp_empty_table_fail-iverilog-stderr.gold new file mode 100644 index 000000000..1ea319f87 --- /dev/null +++ b/ivtest/gold/udp_empty_table_fail-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/udp_empty_table_fail.v:7: error: Empty UDP table. +ivltests/udp_empty_table_fail.v:3: error: Invalid table for UDP primitive udp_empty_table_fail. diff --git a/ivtest/ivltests/udp_empty_table_fail.v b/ivtest/ivltests/udp_empty_table_fail.v new file mode 100644 index 000000000..1dc9df054 --- /dev/null +++ b/ivtest/ivltests/udp_empty_table_fail.v @@ -0,0 +1,9 @@ +// Check that an empty old-style UDP table generates an error. + +primitive udp_empty_table_fail (o, i); + output o; + input i; + + table + endtable +endprimitive diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index e17f69eee..df582b9e6 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -389,6 +389,7 @@ test_va_math vvp_tests/test_va_math.json test_vams_math vvp_tests/test_vams_math.json timing_check_syntax vvp_tests/timing_check_syntax.json timing_check_delayed_signals vvp_tests/timing_check_delayed_signals.json +udp_empty_table_fail vvp_tests/udp_empty_table_fail.json uwire_fail2 vvp_tests/uwire_fail2.json uwire_fail3 vvp_tests/uwire_fail3.json value_range1 vvp_tests/value_range1.json diff --git a/ivtest/vvp_tests/udp_empty_table_fail.json b/ivtest/vvp_tests/udp_empty_table_fail.json new file mode 100644 index 000000000..10abc07f9 --- /dev/null +++ b/ivtest/vvp_tests/udp_empty_table_fail.json @@ -0,0 +1,5 @@ +{ + "type" : "CE", + "source" : "udp_empty_table_fail.v", + "gold" : "udp_empty_table_fail" +}