add regression test for closing down child on SSH connection issue

pull/753/head
JacobBarthelmeh 2024-11-26 10:10:26 -07:00
parent c8692f7570
commit ce5b401ebd
2 changed files with 58 additions and 0 deletions

View File

@ -61,6 +61,7 @@ run_test "sshd_exec_test.sh"
run_test "sshd_term_size_test.sh"
run_test "sshd_large_sftp_test.sh"
run_test "sshd_bad_sftp_test.sh"
run_test "sshd_term_close_test.sh"
#Github actions needs resolved for these test cases
#run_test "error_return.sh"

View File

@ -0,0 +1,57 @@
#!/bin/sh
# sshd local test
ROOT_PWD=$(pwd)
cd ../../..
TEST_CLIENT="./examples/client/client"
PRIVATE_KEY="./keys/hansel-key-ecc.der"
PUBLIC_KEY="./keys/hansel-key-ecc.pub"
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
echo "expecting host and port as arguments"
echo "$0 127.0.0.1 22222 $USER"
exit 1
fi
# get the current wolfsshd pid count to compare with
WOLFSSHD_PID_COUNT=$(pgrep wolfsshd | wc -l)
timeout 3 $TEST_CLIENT -p $2 -i $PRIVATE_KEY -j $PUBLIC_KEY -h $1 -c '/bin/sleep 10' -u $3 &
sleep 1
WOLFSSHD_PID_COUNT_AFTER=$(pgrep wolfsshd | wc -l)
if [ "$WOLFSSHD_PID_COUNT" = "$WOLFSSHD_PID_COUNT_AFTER" ]; then
echo "Expecting another wolfSSHd pid after connection"
echo "PID count before = $WOLFSSHD_PID_COUNT"
echo "PID count after = $WOLFSSHD_PID_COUNT_AFTER"
exit 1
fi
netstat -nt | grep ESTABLISHED
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo "Expecting to find the TCP connection established"
exit 1
fi
sleep 2
netstat -nt | grep CLOSE_WAIT
RESULT=$?
if [ "$RESULT" = "0" ]; then
echo "Found close wait and was not expecting it"
exit 1
fi
netstat -nt | grep TIME_WAIT
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo "Did not find timed wait for TCP close down"
exit 1
fi
cd "$ROOT_PWD"
exit 0