mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2024-11-23 02:50:38 +02:00
93 lines
1.8 KiB
Bash
Executable File
93 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
. ./Common
|
|
|
|
#
|
|
# Note: the hierarchy dump differs in some details from the input format.
|
|
# Its main purpose is to aid with debugging, not to produce a syntactically
|
|
# valid representation of the currently loaded hierarchy.
|
|
#
|
|
|
|
###############################################################################
|
|
|
|
tst "hierarchy: name field" -dh <<EOF
|
|
{ X=* };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
{ X=* }
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst "hierarchy: name set field (correct name)" -dh <<EOF
|
|
<abc> = A<B<C;
|
|
{ X=<abc> };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
{ X=<abc> }
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst_fail "hierarchy: name set field (incorrect name)" <<EOF
|
|
<abc> = A<B<C;
|
|
{ X=<def> };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
h:2: unknown name set "def"
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst "hierarchy: absolute value field (with unit)" -dh <<EOF
|
|
{ X=#foo };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
{ X=#foo }
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst "hierarchy: absolute value field (without unit)" -dh <<EOF
|
|
{ X=## };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
{ X=## }
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst_fail "hierarchy: absolute value field (omit unit name)" <<EOF
|
|
{ X=# };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
h:1: syntax error
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst "hierarchy: relative value field (correct name)" -dh <<EOF
|
|
{ X=#foo Y=%X };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
{ X=#foo Y=%foo }
|
|
EOF
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
tst_fail "hierarchy: relative value field (incorrect name)" <<EOF
|
|
{ X=#foo Y=%Z };
|
|
EOF
|
|
|
|
expect <<EOF
|
|
h:1: unknown field "Z"
|
|
EOF
|
|
|
|
###############################################################################
|