blob: 1e6eec57995beeb78b3a8b5a76129c368ab04410 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001#!/bin/sh
2
3export TEST_SHELL=sh
Andrew Geissler82c905d2020-04-13 13:39:40 -05004export SKIP_UNIT=1
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
6cd regress
Andrew Geissler220dafd2023-10-04 10:18:08 -05007
8# copied from openssh-portable/.github/run_test.sh
9output_failed_logs() {
10 for i in failed*.log; do
11 if [ -f "$i" ]; then
12 echo -------------------------------------------------------------------------
13 echo LOGFILE $i
14 cat $i
15 echo -------------------------------------------------------------------------
16 fi
17 done
18}
19trap output_failed_logs 0
20
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050021sed -i "/\t\tagent-ptrace /d" Makefile
Andrew Geissler9aee5002022-03-30 16:27:02 +000022make -k BUILDDIR=`pwd`/.. .OBJDIR=`pwd` .CURDIR=`pwd` SUDO="sudo" tests \
Brad Bishopd89cb5f2019-04-10 09:02:41 -040023 | sed -u -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g'
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050024
25SSHAGENT=`which ssh-agent`
26GDB=`which gdb`
27
28if [ -z "${SSHAGENT}" -o -z "${GDB}" ]; then
29 echo "SKIP: agent-ptrace"
30 exit
31fi
32
33useradd openssh-test
34
35eval `su -c "${SSHAGENT} -s" openssh-test` > /dev/null
36r=$?
37if [ $r -ne 0 ]; then
38 echo "FAIL: could not start ssh-agent: exit code $r"
39else
40 su -c "gdb -p ${SSH_AGENT_PID}" openssh-test > /tmp/gdb.out 2>&1 << EOF
41 quit
42EOF
43 r=$?
44 if [ $r -ne 0 ]; then
45 echo "gdb failed: exit code $r"
46 fi
47 egrep 'ptrace: Operation not permitted.|procfs:.*Permission denied.|ttrace.*Permission denied.|procfs:.*: Invalid argument.|Unable to access task ' >/dev/null /tmp/gdb.out
48 r=$?
49 rm -f /tmp/gdb.out
50 if [ $r -ne 0 ]; then
51 echo "FAIL: ptrace agent"
52 else
53 echo "PASS: ptrace agent"
54 fi
55
56 ${SSHAGENT} -k > /dev/null
57fi
58userdel openssh-test
59