aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2020-12-28 21:50:49 +0100
committerPatrick Lehmann <Patrick.Lehmann@plc2.de>2020-12-28 21:50:49 +0100
commitf35dee7cd0c8e1a8a5dc856e502a92cab4640964 (patch)
tree6a0340a1cd7fc34cf475234a6389d827c000654e /testsuite
parente5db6a80cf34db4b5ec84d8bd159fef837184e78 (diff)
downloadghdl-f35dee7cd0c8e1a8a5dc856e502a92cab4640964.tar.gz
ghdl-f35dee7cd0c8e1a8a5dc856e502a92cab4640964.tar.bz2
ghdl-f35dee7cd0c8e1a8a5dc856e502a92cab4640964.zip
Removed outdated files.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/python/units01/demo.vhdl12
-rw-r--r--testsuite/python/units01/show_ports.py111
-rwxr-xr-xtestsuite/python/units01/show_units.py55
-rwxr-xr-xtestsuite/python/units01/testsuite.sh11
-rw-r--r--testsuite/pyunit/SimplePackage.vhdl21
-rw-r--r--[-rwxr-xr-x]testsuite/pyunit/testsuite.sh (renamed from testsuite/python/testsuite.sh)0
6 files changed, 21 insertions, 189 deletions
diff --git a/testsuite/python/units01/demo.vhdl b/testsuite/python/units01/demo.vhdl
deleted file mode 100644
index ed98c936a..000000000
--- a/testsuite/python/units01/demo.vhdl
+++ /dev/null
@@ -1,12 +0,0 @@
-entity e1 is
-port (
- CLK: in std_logic;
- RST: in std_logic;
- Q: out std_logic_vector(7 downto 0)
-);
-end e1;
-
-architecture behav of e1 is
-begin
- assert false report "arch" severity note;
-end behav;
diff --git a/testsuite/python/units01/show_ports.py b/testsuite/python/units01/show_ports.py
deleted file mode 100644
index a11f2acbd..000000000
--- a/testsuite/python/units01/show_ports.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/env python
-from sys import argv
-from pathlib import Path
-
-import libghdl
-from libghdl.thin import name_table
-from libghdl.thin import files_map
-from libghdl.thin.vhdl import nodes
-from libghdl.thin.vhdl import sem_lib
-from libghdl.thin.vhdl import pyutils
-from libghdl.thin import errorout_console
-
-
-def get_identifier_ptr(n):
- """Return the python string from node :param n: identifier"""
- return name_table.Get_Name_Ptr(nodes.Get_Identifier(n)).decode("utf-8")
-
-
-def get_port_mode(port) -> str:
- """Return the Mode of a port, as a string"""
- mode = nodes.Get_Mode(port)
- return (
- "in"
- if mode == nodes.Iir_Mode.In_Mode
- else "out"
- if mode == nodes.Iir_Mode.Out_Mode
- else "inout"
- if mode == nodes.Iir_Mode.Inout_Mode
- else "buffer"
- if mode == nodes.Iir_Mode.Buffer_Mode
- else "linkage"
- if mode == nodes.Iir_Mode.Linkage_Mode
- else "unknown"
- )
-
-
-def get_port_type(port) -> str:
- "Return the Type of a port, as a string"
- subtype = nodes.Get_Subtype_Indication(port)
- skind = nodes.Get_Kind(subtype)
-
- if skind == nodes.Iir_Kind.Simple_Name:
- return get_identifier_ptr(subtype)
-
- if skind == nodes.Iir_Kind.Array_Subtype_Definition:
- mark = get_identifier_ptr(nodes.Get_Subtype_Type_Mark(subtype))
-
- for rng in pyutils.flist_iter(nodes.Get_Index_Constraint_List(subtype)):
- if nodes.Get_Kind(rng) == nodes.Iir_Kind.Range_Expression:
- return "%s(%d %s %d)" % (
- mark,
- nodes.Get_Value(nodes.Get_Left_Limit_Expr(rng)),
- "downto" if nodes.Get_Direction(rng) else "to",
- nodes.Get_Value(nodes.Get_Right_Limit_Expr(rng)),
- )
- return "UNSUPPORTED array_subtype_definition"
-
- return "UNSUPPORTED"
-
-
-def list_units(filename):
- # Load the file
- file_id = name_table.Get_Identifier(filename.encode("utf_8"))
- sfe = files_map.Read_Source_File(name_table.Null_Identifier, file_id)
- if sfe == files_map.No_Source_File_Entry:
- print("cannot open file '%s'" % filename)
- return
-
- # Parse
- file = sem_lib.Load_File(sfe)
-
- # Display all design units
- unit = nodes.Get_First_Design_Unit(file)
- while unit != nodes.Null_Iir:
- lib_unit = nodes.Get_Library_Unit(unit)
- if nodes.Get_Kind(lib_unit) == nodes.Iir_Kind.Entity_Declaration:
- print(" - entity %s" % get_identifier_ptr(lib_unit))
- for port in pyutils.chain_iter(nodes.Get_Port_Chain(lib_unit)):
- print(
- " * %s %s %s"
- % (
- get_identifier_ptr(port),
- get_port_mode(port),
- get_port_type(port),
- )
- )
- elif nodes.Get_Kind(lib_unit) == nodes.Iir_Kind.Architecture_Body:
- print(
- " - architecture %s of %s"
- % (
- get_identifier_ptr(lib_unit),
- get_identifier_ptr(nodes.Get_Entity_Name(lib_unit)),
- )
- )
- else:
- print("unknown unit!")
- unit = nodes.Get_Chain(unit)
-
-
-if __name__ == "__main__":
- # Initialization: set options and then load libaries
- errorout_console.Install_Handler()
- libghdl.set_option(b"--std=08")
- if libghdl.analyze_init_status() != 0:
- raise Exception("libghdl initialization error")
-
- # Recursively find and parse all the files with extension *.vhdl
- if len(argv) > 1:
- for file in Path(argv[1]).glob("**/*.vhdl"):
- print("ยท %s" % file)
- list_units(str(file))
diff --git a/testsuite/python/units01/show_units.py b/testsuite/python/units01/show_units.py
deleted file mode 100755
index 43baf9aed..000000000
--- a/testsuite/python/units01/show_units.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env python
-import libghdl
-from libghdl.thin import name_table
-from libghdl.thin import files_map
-from libghdl.thin.vhdl import nodes
-from libghdl.thin.vhdl import sem_lib
-from libghdl.thin import errorout_console
-
-
-def init():
- """Initialization: set options and then load libaries"""
- # Print error messages on the console
- errorout_console.Install_Handler()
- # Set options. This must be done before analyze_init()
- libghdl.set_option(b"--std=08")
- # Finish initialization. This will load the standard package
- if libghdl.analyze_init_status() != 0:
- raise Exception("libghdl initialization error")
-
-def get_identifier_ptr(n):
- """Return the python string from node :param n: identifier"""
- return name_table.Get_Name_Ptr(nodes.Get_Identifier(n)).decode("utf-8")
-
-
-def list_units(filename):
- # Load the file
- file_id = name_table.Get_Identifier(filename.encode("utf_8"))
- sfe = files_map.Read_Source_File(name_table.Null_Identifier, file_id)
- if sfe == files_map.No_Source_File_Entry:
- print("cannot open file '%s'" % filename)
- return
-
- # Parse
- file = sem_lib.Load_File(sfe)
-
- # Display all design units
- unit = nodes.Get_First_Design_Unit(file)
- while unit != nodes.Null_Iir:
- lib_unit = nodes.Get_Library_Unit(unit)
- if nodes.Get_Kind(lib_unit) == nodes.Iir_Kind.Entity_Declaration:
- print("entity %s" % get_identifier_ptr(lib_unit))
- elif nodes.Get_Kind(lib_unit) == nodes.Iir_Kind.Architecture_Body:
- print("architecture %s" % get_identifier_ptr(lib_unit))
- else:
- print("unknown unit!")
- unit = nodes.Get_Chain(unit)
-
-
-def main():
- init()
- list_units("demo.vhdl")
-
-
-if __name__ == "__main__":
- main()
diff --git a/testsuite/python/units01/testsuite.sh b/testsuite/python/units01/testsuite.sh
deleted file mode 100755
index f45d12ac3..000000000
--- a/testsuite/python/units01/testsuite.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /bin/sh
-
-. ../../testenv.sh
-
-$PYTHON show_units.py
-
-echo ""
-
-$PYTHON show_ports.py ./
-
-echo "Test successful"
diff --git a/testsuite/pyunit/SimplePackage.vhdl b/testsuite/pyunit/SimplePackage.vhdl
new file mode 100644
index 000000000..f06cc32fa
--- /dev/null
+++ b/testsuite/pyunit/SimplePackage.vhdl
@@ -0,0 +1,21 @@
+library ieee;
+use ieee.numeric_std.all
+
+package pack_1 is
+ constant const_1 : boolean;
+
+ type matrix is array(natural range <>, natural range <>) of std_logic;
+
+ subtype matrix8x8 is matrix(7 downto 0, 7 downto 0);
+
+ function func1(value : unsigned) return natural;
+end package;
+
+package body pack_1 is
+ constant const_1 : boolean := true;
+
+ function func1(value : unsigned) return natural is
+ begin
+ return to_integer(value);
+ end function;
+end package body;
diff --git a/testsuite/python/testsuite.sh b/testsuite/pyunit/testsuite.sh
index 12b367f2c..12b367f2c 100755..100644
--- a/testsuite/python/testsuite.sh
+++ b/testsuite/pyunit/testsuite.sh