Add test for client termination status on signal.
authordtucker <dtucker@openbsd.org>
Fri, 3 Sep 2021 04:11:13 +0000 (04:11 +0000)
committerdtucker <dtucker@openbsd.org>
Fri, 3 Sep 2021 04:11:13 +0000 (04:11 +0000)
Based on patch from Alexxz via github PR#235 with some tweaks, to
match patch in bz#3281.

regress/usr.bin/ssh/Makefile
regress/usr.bin/ssh/exit-status-signal.sh [new file with mode: 0644]

index efebaef..66b4bac 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile,v 1.116 2021/08/04 21:28:00 djm Exp $
+#      $OpenBSD: Makefile,v 1.117 2021/09/03 04:11:13 dtucker Exp $
 
 OPENSSL?=      yes
 
@@ -25,6 +25,7 @@ LTESTS=       connect \
                proto-version \
                proto-mismatch \
                exit-status \
+               exit-status-signal \
                envpass \
                transfer \
                banner \
diff --git a/regress/usr.bin/ssh/exit-status-signal.sh b/regress/usr.bin/ssh/exit-status-signal.sh
new file mode 100644 (file)
index 0000000..1b3af0d
--- /dev/null
@@ -0,0 +1,24 @@
+# This test performs validation that ssh client is not successive on being terminated
+
+tid="exit status on signal"
+
+# spawn client in background
+rm -f $OBJ/remote_pid
+${SSH} -F $OBJ/ssh_proxy somehost 'echo $$ >'$OBJ'/remote_pid; sleep 444' &
+ssh_pid=$!
+
+# wait for it to start
+n=20
+while [ ! -f $OBJ/remote_pid ] && [ $n -gt 0 ]; do
+       n=$(($n - 1))
+       sleep 1
+done
+
+kill $ssh_pid
+wait $ssh_pid
+exit_code=$?
+
+if [ $exit_code -eq 0 ]; then
+       fail "ssh client should fail on signal"
+fi
+