summaryrefslogtreecommitdiff
path: root/regress/usr.bin
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@cvs.openbsd.org>2016-06-03 04:10:42 +0000
committerDarren Tucker <dtucker@cvs.openbsd.org>2016-06-03 04:10:42 +0000
commit6ae83a26a5312e8ee2d5aa8939f7444ad87eeb39 (patch)
treeb426e57d268212277c58cc1ef027eab373d93d13 /regress/usr.bin
parent26916f74d0639b2366db703a953f4734f4a653e9 (diff)
Add a test for ssh(1)'s config file parsing.
Diffstat (limited to 'regress/usr.bin')
-rw-r--r--regress/usr.bin/ssh/Makefile3
-rw-r--r--regress/usr.bin/ssh/sshcfgparse.sh29
2 files changed, 31 insertions, 1 deletions
diff --git a/regress/usr.bin/ssh/Makefile b/regress/usr.bin/ssh/Makefile
index 8887fab6f6e..d84581458e7 100644
--- a/regress/usr.bin/ssh/Makefile
+++ b/regress/usr.bin/ssh/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.87 2016/04/15 02:55:53 djm Exp $
+# $OpenBSD: Makefile,v 1.88 2016/06/03 04:10:41 dtucker Exp $
.ifndef SKIP_UNIT
SUBDIR= unittests
@@ -47,6 +47,7 @@ LTESTS= connect \
multiplex \
reexec \
brokenkeys \
+ sshcfgparse \
cfgparse \
cfgmatch \
addrmatch \
diff --git a/regress/usr.bin/ssh/sshcfgparse.sh b/regress/usr.bin/ssh/sshcfgparse.sh
new file mode 100644
index 00000000000..f8645d6f158
--- /dev/null
+++ b/regress/usr.bin/ssh/sshcfgparse.sh
@@ -0,0 +1,29 @@
+# $OpenBSD: sshcfgparse.sh,v 1.1 2016/06/03 04:10:41 dtucker Exp $
+# Placed in the Public Domain.
+
+tid="ssh config parse"
+
+verbose "reparse minimal config"
+(${SSH} -G -F $OBJ/ssh_config somehost >$OBJ/ssh_config.1 &&
+ ${SSH} -G -F $OBJ/ssh_config.1 somehost >$OBJ/ssh_config.2 &&
+ diff $OBJ/ssh_config.1 $OBJ/ssh_config.2) || fail "reparse minimal config"
+
+verbose "ssh -W opts"
+f=`${SSH} -GF $OBJ/ssh_config host | awk '/exitonforwardfailure/{print $2}'`
+test "$f" == "no" || fail "exitonforwardfailure default"
+f=`${SSH} -GF $OBJ/ssh_config -W a:1 h | awk '/exitonforwardfailure/{print $2}'`
+test "$f" == "yes" || fail "exitonforwardfailure enable"
+f=`${SSH} -GF $OBJ/ssh_config -W a:1 -o exitonforwardfailure=no h | \
+ awk '/exitonforwardfailure/{print $2}'`
+test "$f" == "no" || fail "exitonforwardfailure override"
+
+f=`${SSH} -GF $OBJ/ssh_config host | awk '/clearallforwardings/{print $2}'`
+test "$f" == "no" || fail "clearallforwardings default"
+f=`${SSH} -GF $OBJ/ssh_config -W a:1 h | awk '/clearallforwardings/{print $2}'`
+test "$f" == "yes" || fail "clearallforwardings enable"
+f=`${SSH} -GF $OBJ/ssh_config -W a:1 -o clearallforwardings=no h | \
+ awk '/clearallforwardings/{print $2}'`
+test "$f" == "no" || fail "clearallforwardings override"
+
+# cleanup
+rm -f $OBJ/ssh_config.[012]