#!/bin/sh
|
|
export TEST_SHELL=sh
|
export SKIP_UNIT=1
|
|
cd regress
|
sed -i "/\t\tagent-ptrace /d" Makefile
|
make -k .OBJDIR=`pwd` .CURDIR=`pwd` SUDO="sudo" tests \
|
| sed -u -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g'
|
|
SSHAGENT=`which ssh-agent`
|
GDB=`which gdb`
|
|
if [ -z "${SSHAGENT}" -o -z "${GDB}" ]; then
|
echo "SKIP: agent-ptrace"
|
exit
|
fi
|
|
useradd openssh-test
|
|
eval `su -c "${SSHAGENT} -s" openssh-test` > /dev/null
|
r=$?
|
if [ $r -ne 0 ]; then
|
echo "FAIL: could not start ssh-agent: exit code $r"
|
else
|
su -c "gdb -p ${SSH_AGENT_PID}" openssh-test > /tmp/gdb.out 2>&1 << EOF
|
quit
|
EOF
|
r=$?
|
if [ $r -ne 0 ]; then
|
echo "gdb failed: exit code $r"
|
fi
|
egrep 'ptrace: Operation not permitted.|procfs:.*Permission denied.|ttrace.*Permission denied.|procfs:.*: Invalid argument.|Unable to access task ' >/dev/null /tmp/gdb.out
|
r=$?
|
rm -f /tmp/gdb.out
|
if [ $r -ne 0 ]; then
|
echo "FAIL: ptrace agent"
|
else
|
echo "PASS: ptrace agent"
|
fi
|
|
${SSHAGENT} -k > /dev/null
|
fi
|
userdel openssh-test
|