summaryrefslogtreecommitdiff
path: root/src/regress/lib/libc/asr/regress.subr
diff options
context:
space:
mode:
Diffstat (limited to 'src/regress/lib/libc/asr/regress.subr')
-rw-r--r--src/regress/lib/libc/asr/regress.subr122
1 files changed, 0 insertions, 122 deletions
diff --git a/src/regress/lib/libc/asr/regress.subr b/src/regress/lib/libc/asr/regress.subr
deleted file mode 100644
index 6ce645bc33..0000000000
--- a/src/regress/lib/libc/asr/regress.subr
+++ /dev/null
@@ -1,122 +0,0 @@
1#!/bin/sh
2# $OpenBSD: regress.subr,v 1.4 2017/03/14 20:22:06 eric Exp $
3
4set -e
5
6fail()
7{
8 echo "*** ERROR: $@"
9 exit 1
10}
11
12regress()
13{
14 local cmd="$1"
15 local bin0="/bin/${cmd}${A}"
16 local bin1="/bin/${cmd}${B}"
17 local out="${OUTDIR}/test-${COUNT}.out"
18 local out0="${OUTDIR}/test-${COUNT}${A}.out"
19 local out1="${OUTDIR}/test-${COUNT}${B}.out"
20 local err0="${OUTDIR}/test-${COUNT}${A}.err"
21 local err1="${OUTDIR}/test-${COUNT}${B}.err"
22 local outdiff="${OUTDIR}/test-${COUNT}${A}${B}.diff"
23 shift
24
25 test -x "${ROOTDIR}${bin0}" || fail "${ROOTDIR}${bin0}" not executable
26 test -x "${ROOTDIR}${bin1}" || fail "${ROOTDIR}${bin1}" not executable
27
28 echo -n "${cmd} $@ ."
29
30 set +e
31 chroot -u bin "${ROOTDIR}" ${bin0} $@ > ${out0}
32 echo -n .
33 chroot -u bin "${ROOTDIR}" ${bin1} $@ > ${out1}
34 echo -n "."
35
36 diff -u ${out0} ${out1} > ${outdiff}
37 set -e
38 if test -s ${outdiff}; then
39 FAIL=$((FAIL+1))
40 echo fail
41 echo "### FAIL [#${COUNT} env=${REGRESSENV}] ${cmd} $@" >> $ERR
42 cat ${outdiff} >> $ERR
43 echo >> $ERR
44 else
45 rm ${outdiff}
46 rm ${out1}
47 mv ${out0} ${out}
48 OK=$((OK+1))
49 echo ok
50 echo "### OK [#${COUNT} env=$REGRESSENV] ${cmd} $@" >> $OUT
51 cat ${out} >> $OUT
52 echo >> $OUT
53 fi
54
55 COUNT=$((COUNT+1))
56}
57
58regress_setenv()
59{
60 local _name="$1"
61
62 echo "==> using env $_name"
63
64 mkdir -p "${ROOTDIR}/etc/"
65 cp /etc/hosts "${ROOTDIR}/etc/"
66 cp /etc/resolv.conf "${ROOTDIR}/etc/"
67 cp /etc/protocols "${ROOTDIR}/etc/"
68 cp /etc/networks "${ROOTDIR}/etc/"
69 cp /etc/services "${ROOTDIR}/etc/"
70
71 case $_name in
72 empty)
73 rm -f "${ROOTDIR}/etc/*"
74 ;;
75 local)
76 ;;
77 file)
78 grep -v lookup /etc/resolv.conf > "${ROOTDIR}/etc/resolv.conf"
79 echo "lookup file" >> "${ROOTDIR}/etc/resolv.conf"
80 ;;
81 bind)
82 grep -v lookup /etc/resolv.conf > "${ROOTDIR}/etc/resolv.conf"
83 echo "lookup bind" >> "${ROOTDIR}/etc/resolv.conf"
84 ;;
85 *)
86 fail unknown env $_name
87 ;;
88 esac
89 REGRESSENV=$_name
90}
91
92regress_digest()
93{
94 echo "===> done"
95 test -f $ERR && (echo; cat $ERR; echo "===> errfile=$ERR")
96 echo "===> logfile=$OUT"
97 echo "===> run=$COUNT ok=$OK fail=$FAIL error=$ERROR"
98
99}
100
101# needed for chroot
102test "$(id -u)" -ne 0 && fail need root privileges to run this script
103
104# we really really want to avoid erasing /etc later
105test "${RUNDIR}" || fail RUNDIR is not set
106
107ROOTDIR=$(readlink -fn ${RUNDIR})
108test "${ROOTDIR}" == "/" && fail RUNDIR is root dir: ${RUNDIR}
109
110COUNT=0
111OK=0
112FAIL=0
113ERROR=0
114A=${A:=.a}
115B=${B:=.b}
116
117OUTDIR=$(mktemp -d -p $ROOTDIR)
118chmod a+rx ${OUTDIR}
119echo "===> ${OUTDIR}"
120
121OUT=$OUTDIR/regress.log
122ERR=$OUTDIR/regress.err