1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2025-04-21 12:27:27 +03:00

With a little help from m8cutils and abyss, we now have regression tests for

the topological sort. "make test" or "make tests" invokes the regression tests,
"make valgrind" runs them under valgrind's watchful eyes.

- fped.c (usage, main): added option -T to force batch mode (for regression
  testing)
- Makefile, test/Common: added regression test infrastructure
- test/tsort: test cases for the topological sort
- README: added pointer to test/tsort



git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5943 99fdad57-331a-0410-800a-d7fa5415bdb3
This commit is contained in:
werner
2010-04-26 21:30:21 +00:00
parent 190bcaf982
commit bc27b094af
6 changed files with 238 additions and 7 deletions

155
test/tsort Normal file
View File

@@ -0,0 +1,155 @@
#!/bin/sh
. ./Common
###############################################################################
fped "tsort: total order" <<EOF
package "_"
%tsort {
a b
a c
a d
b c
b d
c d
}
EOF
expect <<EOF
a
b
c
d
EOF
#------------------------------------------------------------------------------
fped "tsort: partial order change (1)" <<EOF
package "_"
%tsort {
a b
a c
a d
d b
}
EOF
expect <<EOF
a
c
d
b
EOF
#------------------------------------------------------------------------------
fped "tsort: partial order change (2)" <<EOF
package "_"
%tsort {
b c
c d
a b
}
EOF
expect <<EOF
a
b
c
d
EOF
#------------------------------------------------------------------------------
fped "tsort: old order differs from resolution order" <<EOF
package "_"
%tsort {
+a +b +c +d
a c
a b
a d
}
EOF
expect <<EOF
a
b
c
d
EOF
#------------------------------------------------------------------------------
fped "tsort: order change due to priority" <<EOF
package "_"
%tsort {
a b
a c 1
a d
}
EOF
expect <<EOF
a
c
b
d
EOF
#------------------------------------------------------------------------------
fped "tsort: priority accumulation without decay" <<EOF
package "_"
%tsort {
+a +b +c +d
a b 1
a d 1
}
EOF
expect <<EOF
a
b
d
c
EOF
#------------------------------------------------------------------------------
fped "tsort: priority accumulation with decay" <<EOF
package "_"
%tsort {
+a -b +c +d
a b 1
a d 1
}
EOF
expect <<EOF
a
b
c
d
EOF
#------------------------------------------------------------------------------
fped_fail "tsort: cycle" <<EOF
package "_"
%tsort {
a b
b a
}
EOF
expect <<EOF
cycle detected in partial order
Aborted (core dumped)
EOF
# not entirely comfortable about the "Aborted (core dumped)". It's a system
# message (from the shell) that may get mangled. Also, since few people keep
# their cores these days, "(core dumped)" shouldn't really appear. Wonder why
# it does. strace agrees that __WCOREFLAG is set ...
###############################################################################