]> code.ossystems Code Review - openembedded-core.git/commitdiff
openssh: redesign ssh-agent.sh regression test case
authorRoy Li <rongqing.li@windriver.com>
Wed, 25 Nov 2015 01:53:54 +0000 (09:53 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 1 Dec 2015 21:31:03 +0000 (21:31 +0000)
ssh-agent regression test case should be run by non-root user,
but non-root user will has issue to run other testcase, so
rewrite it on run-ptest

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-connectivity/openssh/openssh/run-ptest

index 564c0c82565ba09bdf146d8bbf310793c75e8b5f..769162e0c829f1a456692c1a9dd204df11cb8cdb 100755 (executable)
@@ -3,5 +3,42 @@
 export TEST_SHELL=sh
 
 cd regress
+sed -i "/\t\tagent-ptrace /d" Makefile
 make -k .OBJDIR=`pwd` .CURDIR=`pwd` SUDO="sudo" tests \
         | sed -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"
+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 agant"
+       else
+               echo "PASS: ptrace agant"
+       fi
+
+       ${SSHAGENT} -k > /dev/null
+fi
+userdel openssh-test
+