File: trinity.sh.in

package info (click to toggle)
tcng 10b-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,632 kB
  • ctags: 2,515
  • sloc: ansic: 19,038; pascal: 4,640; yacc: 2,619; sh: 1,908; perl: 1,546; lex: 772; makefile: 755
file content (63 lines) | stat: -rwxr-xr-x 1,267 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/sh -e
#
# trinity.sh - Run test with targets "tc" (u32) , "c", and "ext" (test)
#
# Written 2001,2002 by Werner Almesberger
# Copyright 2001 Network Robots
# Copyright 2002 Bivio Networks
#
# This script is modified by the Makefile to include TOPDIR


filter()
{
    sed '/.* c .* returns /s///p;d' | sed 's/\(.*:[0-9a-fA-F].*\),.*/\1)/'
}


usage()
{
    echo "usage: $0 [-v] [file]" 2>&1
    exit 1
}


verify=false
while [ ! -z "$1" ]; do
    case "$1" in
	-v) verify=true;;
	-*) usage;;
	*) break;;
    esac
    shift
done

if [ -z "$1" ]; then
   cat "$@" >_tri_in.$$
   in_file=_tri_in.$$
else
   in_file="$1"
fi

[ -z "$2" ] || usage

topdir=$TOPDIR
[ -z "$TCNG_TOPDIR" ] || topdir=$TCNG_TOPDIR

PATH=$topdir/bin:$PATH
TCNG_TOPDIR=$topdir tcsim -v "$in_file" | filter >_tri_tc.$$
LD_LIBRARY_PATH=. TCNG_TOPDIR=$topdir \
  tcsim -v -Xc,-tc "$in_file" | filter >_tri_c.$$
LD_LIBRARY_PATH=. PATH=$PATH:$topdir/tcc/ext \
  TCNG_TOPDIR=$topdir tcsim -v -Xc,-xif:test "$in_file" | filter >_tri_ext.$$
diff -u _tri_tc.$$ _tri_c.$$ || {
    echo "tc and c output differ" 2>&1
    exit 1
}
diff -u _tri_tc.$$ _tri_ext.$$ || {
    echo "tc and ext output differ" 2>&1
    exit 1
}
$verify && cat _tri_c.$$
rm -f _tri_in.$$ _tri_tc.$$ _tri_c.$$ _tri_ext.$$
exit 0