From ca93319348bd9ae8f23dda91b85fb4dbd8c2f8ef Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 14 May 2015 22:02:11 +0200 Subject: Testcase for ticket 61. --- testsuite/gna/ticket61/bug.vhdl | 34 ++++++++++++++++++++++++++++++++++ testsuite/gna/ticket61/testsuite.sh | 11 +++++++++++ 2 files changed, 45 insertions(+) create mode 100644 testsuite/gna/ticket61/bug.vhdl create mode 100755 testsuite/gna/ticket61/testsuite.sh diff --git a/testsuite/gna/ticket61/bug.vhdl b/testsuite/gna/ticket61/bug.vhdl new file mode 100644 index 000000000..c4a4224fe --- /dev/null +++ b/testsuite/gna/ticket61/bug.vhdl @@ -0,0 +1,34 @@ +entity ent is +end entity; + +architecture a of ent is +begin + main : process is + constant c : boolean := false; + variable v : boolean; + + type enum is (a, b, short, \Extended\, \Weird\\Name\); + variable e : enum; + begin + report to_string(c); -- Cause TYPES.INTERNAL_ERROR + report to_string(false); -- Cause TYPES.INTERNAL_ERROR + report to_string(integer'(1)); -- Cause TYPES.INTERNAL_ERROR + report to_string(v); -- Works + report to_string(\Extended\); + report to_string(\Weird\\Name\); + + assert to_string(CR) = (1 => CR) severity failure; + assert to_string(integer'(1)) = "1" severity failure; + assert to_string(integer'(-12)) = "-12" severity failure; + assert to_string(FaLse) = "false" severity failure; + + assert to_string (\Extended\) = "Extended" severity failure; + assert to_string(\Weird\\Name\) = "Weird\Name" severity failure; + assert enum'image(\Weird\\Name\) = "\Weird\\Name\" severity failure; + e := \Weird\\Name\; + assert enum'image(e) = "\Weird\\Name\" severity failure; + report to_string(e); + assert to_string(e) = "Weird\Name" severity failure; + wait; + end process; +end architecture; diff --git a/testsuite/gna/ticket61/testsuite.sh b/testsuite/gna/ticket61/testsuite.sh new file mode 100755 index 000000000..6589b7cf3 --- /dev/null +++ b/testsuite/gna/ticket61/testsuite.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +. ../../testenv.sh + +GHDL_STD_FLAGS=--std=08 + +analyze bug.vhdl +elab_simulate ent +clean + +echo "Test successful" -- cgit v1.2.3