Merge branch 'master' of ssh://vps.jankratochvil.net/var/lib/git/nethome
[nethome.git] / bin / gccregression
1 #! /bin/bash
2 if [ $# != 3 -a $# != 4 ];then
3   echo "$0 {|44|45|head} {|44|45|head} path/testfile.exp [path/binary]"
4 fi
5 set -ex
6 rm -rf fail
7 rm -rf pass
8 if [ -n "$1" ];then
9   gccold="$HOME/redhat/gcc$1-root/bin"
10 else
11   gccold="/"
12 fi
13 if [ -n "$2" ];then
14   gccnew="$HOME/redhat/gcc$2-root/bin"
15 else
16   gccnew="/"
17 fi
18 test -d $gccold
19 test -d $gccnew
20 exp=`echo $3|sed 's/\.exp$//'`.exp
21 test -f $exp
22 if [ -n "$4" ];then
23   bin=$4
24 else
25   bin=`echo $3|sed 's/\.exp$//'`
26 fi
27 binbase=`basename $bin`
28 if [ -e $bin ];then
29   file $bin | grep ': ELF'
30 fi
31 rm -f $bin
32
33 PATH="$gccold:$PATH" runtest $exp || exit 1
34 file $bin | grep ': ELF'
35 mkdir pass
36 mv gdb.sum gdb.log $bin pass
37 readelf -wi pass/$binbase >pass/$binbase.d
38
39 PATH="$gccnew:$PATH" runtest $exp && exit 1
40 file $bin | grep ': ELF'
41 mkdir fail
42 mv gdb.sum gdb.log $bin fail
43 readelf -wi fail/$binbase >fail/$binbase.d
44
45 echo OK