1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-11-23 06:37:13 +02:00
eda-tools/b2/test/hierfld

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
###############################################################################