| #!/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 |
| |