aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/testsuite.sh
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/testsuite.sh')
-rwxr-xr-xtestsuite/testsuite.sh29
1 files changed, 28 insertions, 1 deletions
diff --git a/testsuite/testsuite.sh b/testsuite/testsuite.sh
index ae6b7f54f..f060e763c 100755
--- a/testsuite/testsuite.sh
+++ b/testsuite/testsuite.sh
@@ -177,6 +177,32 @@ do_synth () {
#---
+do_vpi () {
+ gstart "[GHDL - test] vpi"
+ cd vpi
+
+ for d in *[0-9]; do
+ cd $d
+ if ./testsuite.sh > test.log 2>&1 ; then
+ printf "vpi $d: ${ANSI_GREEN}ok${ANSI_NOCOLOR}\n"
+ # Don't disp log
+ else
+ printf "vpi $d: ${ANSI_RED}failed${ANSI_NOCOLOR}\n"
+ cat test.log
+ failures="$failures $d"
+ fi
+ cd ..
+ # Stop at the first failure
+ [ "$failures" = "" ] || break
+ done
+
+ cd ..
+ gend
+ [ "$failures" = "" ] || exit 1
+}
+
+#---
+
if [ "x$GHDL" = "x" ]; then
if [ "x$prefix" != "x" ]; then
export GHDL="$prefix/bin/ghdl"
@@ -200,7 +226,7 @@ for opt; do
esac
done
-if [ "x$tests" = "x" ]; then tests="sanity gna vests synth"; fi
+if [ "x$tests" = "x" ]; then tests="sanity gna vests synth vpi"; fi
echo "tests: $tests"
@@ -211,6 +237,7 @@ do_test() {
gna) do_gna;;
vests) do_vests;;
synth) do_synth;;
+ vpi) do_vpi;;
*)
printf "${ANSI_RED}$0: test name '$1' is unknown${ANSI_NOCOLOR}\n"
exit 1;;