mirror of
git://projects.qi-hardware.com/fped.git
synced 2025-04-21 12:27:27 +03:00
Got rid of the requirement to have a "package" directive. Fixed a grammar error
found in the process. Also taught the regression test system a new trick: the path to "fped" can be passed in the environment variable FPED. E.g., FPED=fped.r5943 make test - fped.c (usage, main): duplicating the -T option produces a dump to stdout before exiting (like %dump would) - test/Common: new command fped_dump to invoked fped with a second -T option - test/Common: if the environment variable FPED is set, use its content to invoke fped (default is ../fped) - test/Common: if the environment variable CWD_PREFIX is set, prepend it to $FPED if the latter is a relative path - Makefile (test, tests): set CWD_PREFIX to .., so that the path given in FPED is valid at the point of invocation - fpd.y: revised grammar to make "package" optional - fpd.y: measurements were syntactically allowed inside non-root frame (test/structure) - test/structure: test various combinations of the grammatical file structure - test/tsort: removed all the now unnecessary "package" directives git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5944 99fdad57-331a-0410-800a-d7fa5415bdb3
This commit is contained in:
15
test/Common
15
test/Common
@@ -17,7 +17,7 @@ fped()
|
||||
echo -n "$1: " 1>&2
|
||||
shift
|
||||
cat >_in
|
||||
$VALGRIND ../fped -T _in "$@" >_out 2>&1 || {
|
||||
$VALGRIND ${FPED:-../fped} -T _in "$@" >_out 2>&1 || {
|
||||
echo FAILED "($SCRIPT)" 1>&2
|
||||
cat _out
|
||||
rm -f _in _out
|
||||
@@ -27,12 +27,18 @@ fped()
|
||||
}
|
||||
|
||||
|
||||
fped_dump()
|
||||
{
|
||||
fped "$@" -T
|
||||
}
|
||||
|
||||
|
||||
fped_fail()
|
||||
{
|
||||
echo -n "$1: " 1>&2
|
||||
shift
|
||||
cat >_in
|
||||
$VALGRIND ../fped -T _in "$@" >_out 2>&1 && {
|
||||
$VALGRIND ${FPED:-../fped} -T _in "$@" >_out 2>&1 && {
|
||||
echo FAILED "($SCRIPT)" 1>&2
|
||||
cat _out
|
||||
rm -f _in _out
|
||||
@@ -54,3 +60,8 @@ expect()
|
||||
rm -f _out _diff
|
||||
passed=`expr ${passed:-0} + 1`
|
||||
}
|
||||
|
||||
|
||||
if [ ! -z "$CWD_PREFIX" -a ! -z "$FPED" -a "$FPED" = "${FPED#/}" ]; then
|
||||
FPED="$CWD_PREFIX/$FPED"
|
||||
fi
|
||||
|
||||
103
test/structure
Executable file
103
test/structure
Executable file
@@ -0,0 +1,103 @@
|
||||
#!/bin/sh
|
||||
. ./Common
|
||||
|
||||
###############################################################################
|
||||
|
||||
fped_dump "structure: empty file" <<EOF
|
||||
EOF
|
||||
expect <<EOF
|
||||
/* MACHINE-GENERATED ! */
|
||||
|
||||
package "_"
|
||||
unit mm
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_dump "structure: just an empty frame definition" <<EOF
|
||||
frame foo {
|
||||
}
|
||||
EOF
|
||||
expect <<EOF
|
||||
/* MACHINE-GENERATED ! */
|
||||
|
||||
frame foo {
|
||||
}
|
||||
|
||||
package "_"
|
||||
unit mm
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_dump "structure: just the package name" <<EOF
|
||||
package "hello"
|
||||
EOF
|
||||
expect <<EOF
|
||||
/* MACHINE-GENERATED ! */
|
||||
|
||||
package "hello"
|
||||
unit mm
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_dump "structure: just the unit" <<EOF
|
||||
unit mil
|
||||
EOF
|
||||
expect <<EOF
|
||||
/* MACHINE-GENERATED ! */
|
||||
|
||||
package "_"
|
||||
unit mil
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_dump "structure: just one root frame item" <<EOF
|
||||
vec @(1mm, 1mm)
|
||||
EOF
|
||||
expect <<EOF
|
||||
/* MACHINE-GENERATED ! */
|
||||
|
||||
package "_"
|
||||
unit mm
|
||||
__0: vec @(1mm, 1mm)
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_dump "structure: frame plus measurement" <<EOF
|
||||
frame f {
|
||||
a: vec @(0mm, 0mm)
|
||||
b: vec @(1mm, 1mm)
|
||||
}
|
||||
meas f.a -> f.b
|
||||
EOF
|
||||
expect <<EOF
|
||||
/* MACHINE-GENERATED ! */
|
||||
|
||||
frame f {
|
||||
a: vec @(0mm, 0mm)
|
||||
b: vec @(1mm, 1mm)
|
||||
}
|
||||
|
||||
package "_"
|
||||
unit mm
|
||||
meas f.a -> f.b
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_fail "structure: measurement in frame" <<EOF
|
||||
frame f {
|
||||
a: vec @(0mm, 0mm)
|
||||
b: vec @(1mm, 1mm)
|
||||
meas f.a -> f.b
|
||||
}
|
||||
EOF
|
||||
expect <<EOF
|
||||
4: syntax error near "meas"
|
||||
EOF
|
||||
|
||||
###############################################################################
|
||||
16
test/tsort
16
test/tsort
@@ -4,8 +4,6 @@
|
||||
###############################################################################
|
||||
|
||||
fped "tsort: total order" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
a b
|
||||
a c
|
||||
@@ -25,8 +23,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped "tsort: partial order change (1)" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
a b
|
||||
a c
|
||||
@@ -44,8 +40,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped "tsort: partial order change (2)" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
b c
|
||||
c d
|
||||
@@ -62,8 +56,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped "tsort: old order differs from resolution order" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
+a +b +c +d
|
||||
a c
|
||||
@@ -81,8 +73,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped "tsort: order change due to priority" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
a b
|
||||
a c 1
|
||||
@@ -99,8 +89,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped "tsort: priority accumulation without decay" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
+a +b +c +d
|
||||
a b 1
|
||||
@@ -117,8 +105,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped "tsort: priority accumulation with decay" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
+a -b +c +d
|
||||
a b 1
|
||||
@@ -135,8 +121,6 @@ EOF
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
fped_fail "tsort: cycle" <<EOF
|
||||
package "_"
|
||||
|
||||
%tsort {
|
||||
a b
|
||||
b a
|
||||
|
||||
Reference in New Issue
Block a user