diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-08-19 05:05:31 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-08-19 05:05:31 +0200 |
commit | 0d72d5def31ba701bfce8750820bcd9bb9f4ad5c (patch) | |
tree | fdfe313b17f7110e987198beba3df25add3c0ced /testsuite/sanity | |
parent | e879d9691ac85c5334b2bf27e5fb35c755e2b879 (diff) | |
download | ghdl-0d72d5def31ba701bfce8750820bcd9bb9f4ad5c.tar.gz ghdl-0d72d5def31ba701bfce8750820bcd9bb9f4ad5c.tar.bz2 ghdl-0d72d5def31ba701bfce8750820bcd9bb9f4ad5c.zip |
Add sanity/ testsuite.
Diffstat (limited to 'testsuite/sanity')
-rw-r--r-- | testsuite/sanity/000hello/hello.vhdl | 7 | ||||
-rwxr-xr-x | testsuite/sanity/000hello/testsuite.sh | 10 | ||||
-rw-r--r-- | testsuite/sanity/001hello87/err87.vhdl | 11 | ||||
-rw-r--r-- | testsuite/sanity/001hello87/hello.vhdl | 7 | ||||
-rwxr-xr-x | testsuite/sanity/001hello87/testsuite.sh | 20 | ||||
-rw-r--r-- | testsuite/sanity/002hello2008/err93.vhdl | 10 | ||||
-rw-r--r-- | testsuite/sanity/002hello2008/hello.vhdl | 7 | ||||
-rwxr-xr-x | testsuite/sanity/002hello2008/testsuite.sh | 20 | ||||
-rwxr-xr-x | testsuite/sanity/testsuite.sh | 45 |
9 files changed, 137 insertions, 0 deletions
diff --git a/testsuite/sanity/000hello/hello.vhdl b/testsuite/sanity/000hello/hello.vhdl new file mode 100644 index 000000000..792aae2bd --- /dev/null +++ b/testsuite/sanity/000hello/hello.vhdl @@ -0,0 +1,7 @@ +entity hello is +end hello; + +architecture behav of hello is +begin + assert false report "Hello VHDL world" severity note; +end behav; diff --git a/testsuite/sanity/000hello/testsuite.sh b/testsuite/sanity/000hello/testsuite.sh new file mode 100755 index 000000000..09af7b899 --- /dev/null +++ b/testsuite/sanity/000hello/testsuite.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +. ../../testenv.sh + +analyze hello.vhdl +elab_simulate hello + +clean + +echo "test successful" diff --git a/testsuite/sanity/001hello87/err87.vhdl b/testsuite/sanity/001hello87/err87.vhdl new file mode 100644 index 000000000..e918352ce --- /dev/null +++ b/testsuite/sanity/001hello87/err87.vhdl @@ -0,0 +1,11 @@ +entity err87 is +end err87; + +architecture behav of err87 is +begin + process + begin + report "not valid in vhdl-87" severity note; + wait; + end process; +end behav; diff --git a/testsuite/sanity/001hello87/hello.vhdl b/testsuite/sanity/001hello87/hello.vhdl new file mode 100644 index 000000000..792aae2bd --- /dev/null +++ b/testsuite/sanity/001hello87/hello.vhdl @@ -0,0 +1,7 @@ +entity hello is +end hello; + +architecture behav of hello is +begin + assert false report "Hello VHDL world" severity note; +end behav; diff --git a/testsuite/sanity/001hello87/testsuite.sh b/testsuite/sanity/001hello87/testsuite.sh new file mode 100755 index 000000000..a02c6a1b4 --- /dev/null +++ b/testsuite/sanity/001hello87/testsuite.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +. ../../testenv.sh + +GHDL_STD_FLAGS=--std=87 +analyze hello.vhdl +elab_simulate hello + +# Check that vhdl-87 is used +analyze_failure err87.vhdl + +clean + +# Check that err87 is a valid vhdl-93 source file +GHDL_STD_FLAGS= +analyze err87.vhdl + +clean + +echo "test successful" diff --git a/testsuite/sanity/002hello2008/err93.vhdl b/testsuite/sanity/002hello2008/err93.vhdl new file mode 100644 index 000000000..f33ec4c7f --- /dev/null +++ b/testsuite/sanity/002hello2008/err93.vhdl @@ -0,0 +1,10 @@ +entity err93 is +end err93; + +architecture behav of err93 is +begin + process (all) is + begin + report "not valid in vhdl-93" severity note; + end process; +end behav; diff --git a/testsuite/sanity/002hello2008/hello.vhdl b/testsuite/sanity/002hello2008/hello.vhdl new file mode 100644 index 000000000..792aae2bd --- /dev/null +++ b/testsuite/sanity/002hello2008/hello.vhdl @@ -0,0 +1,7 @@ +entity hello is +end hello; + +architecture behav of hello is +begin + assert false report "Hello VHDL world" severity note; +end behav; diff --git a/testsuite/sanity/002hello2008/testsuite.sh b/testsuite/sanity/002hello2008/testsuite.sh new file mode 100755 index 000000000..c8ce4478f --- /dev/null +++ b/testsuite/sanity/002hello2008/testsuite.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +. ../../testenv.sh + +GHDL_STD_FLAGS=--std=08 +analyze hello.vhdl +elab_simulate hello + +# Check that vhdl-08 is used +analyze err93.vhdl + +clean + +# Check that err93 is not valid in vhdl-93 +GHDL_STD_FLAGS= +analyze_failure err93.vhdl + +clean + +echo "test successful" diff --git a/testsuite/sanity/testsuite.sh b/testsuite/sanity/testsuite.sh new file mode 100755 index 000000000..96150da88 --- /dev/null +++ b/testsuite/sanity/testsuite.sh @@ -0,0 +1,45 @@ +#! /bin/sh + +# Driver for sanity checks + +set -e + +dirs="[0-9]*" + +failures="" +full=n + +for opt; do + case "$opt" in + -k | --keep-going) full=y ;; + --list-tests) echo $dirs; exit 0;; + *) echo "Unknown option $opt" + exit 2 + ;; + esac +done + +singlerun() { + echo "" + echo "sanity $1:" + cd $1 + if ! ./testsuite.sh; then + echo "#################################################################" + echo "######### FAILURE: $1" + echo "#################################################################" + if [ $2 = "y" ]; then + failures="$failures $1" + else + exit 1; + fi + fi + cd .. +} + +for i in $dirs; do singlerun $i $full; done + +if [ x"$failures" = x"" ]; then + echo "sanity tests are successful" && exit 0 +else + echo "sanity test failed ($failures)" && exit 1 +fi |