From d8b1335eb3be3e0e6b3fe38344cc7fa3d99a59d7 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 18 Dec 2018 06:35:42 +0100 Subject: sanity: test examples from the doc. --- testsuite/sanity/005examples/extract_vhdl.py | 30 ++++++++++++++++++++++++++++ testsuite/sanity/005examples/hdl-prj.json | 8 ++++++++ testsuite/sanity/005examples/testsuite.sh | 20 +++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 testsuite/sanity/005examples/extract_vhdl.py create mode 100644 testsuite/sanity/005examples/hdl-prj.json create mode 100755 testsuite/sanity/005examples/testsuite.sh diff --git a/testsuite/sanity/005examples/extract_vhdl.py b/testsuite/sanity/005examples/extract_vhdl.py new file mode 100644 index 000000000..fa2243caa --- /dev/null +++ b/testsuite/sanity/005examples/extract_vhdl.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +import sys + +def extract(out): + # Skip until the first line + while (1): + l = sys.stdin.readline() + if l == '': + return False + if l == '.. code-block:: VHDL\n': + break + + # Write example + while (1): + l = sys.stdin.readline() + if l[0] == '\n': + out.write(l) + elif len(l) >= 2 and l[:2] == ' ': + out.write(l[2:]) + else: + break + + return True + +for f in sys.argv[1:]: + print("Extracting {}...".format(f)) + with open(f, "w") as out: + if not extract(out): + sys.exit(1) +sys.exit(0) diff --git a/testsuite/sanity/005examples/hdl-prj.json b/testsuite/sanity/005examples/hdl-prj.json new file mode 100644 index 000000000..9895e7de0 --- /dev/null +++ b/testsuite/sanity/005examples/hdl-prj.json @@ -0,0 +1,8 @@ +{ + "files": [ + { "name": "adder.vhdl", "language": "vhdl"}, + { "name": "adder_tb.vhdl", "language": "vhdl"}, + { "name": "heartbeat.vhdl", "language": "vhdl"}, + { "name": "hello.vhdl", "language": "vhdl"} + ] +} diff --git a/testsuite/sanity/005examples/testsuite.sh b/testsuite/sanity/005examples/testsuite.sh new file mode 100755 index 000000000..2cf61446f --- /dev/null +++ b/testsuite/sanity/005examples/testsuite.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +. ../../testenv.sh + +# Extract examples +python extract_vhdl.py hello.vhdl heartbeat.vhdl adder.vhdl adder_tb.vhdl < ../../../doc/using/QuickStartGuide.rst + +analyze hello.vhdl +elab_simulate hello_world + +analyze heartbeat.vhdl +elab_simulate heartbeat --stop-time=100ns + +analyze adder.vhdl +analyze adder_tb.vhdl +elab_simulate adder_tb + +clean + +echo "test successful" -- cgit v1.2.3