summaryrefslogtreecommitdiffstats
path: root/regress/keygen-moduli.sh
diff options
context:
space:
mode:
Diffstat (limited to 'regress/keygen-moduli.sh')
-rw-r--r--regress/keygen-moduli.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/regress/keygen-moduli.sh b/regress/keygen-moduli.sh
new file mode 100644
index 0000000..8be53f9
--- /dev/null
+++ b/regress/keygen-moduli.sh
@@ -0,0 +1,27 @@
+# $OpenBSD: keygen-moduli.sh,v 1.4 2020/01/02 13:25:38 dtucker Exp $
+# Placed in the Public Domain.
+
+tid="keygen moduli"
+
+dhgex=0
+for kex in `${SSH} -Q kex`; do
+ case $kex in
+ diffie-hellman-group*) dhgex=1 ;;
+ esac
+done
+
+# Try "start at the beginning and stop after 1", "skip 1 then stop after 1"
+# and "skip 2 and run to the end with checkpointing". Since our test data
+# file has 3 lines, these should always result in 1 line of output.
+if [ "x$dhgex" = "x1" ]; then
+ for i in "-O lines=1" "-O start-line=1 -O lines=1" "-O start-line=2 -O checkpoint=$OBJ/moduli.ckpt"; do
+ trace "keygen $i"
+ rm -f $OBJ/moduli.out $OBJ/moduli.ckpt
+ ${SSHKEYGEN} -M screen -f ${SRC}/moduli.in $i $OBJ/moduli.out 2>/dev/null || \
+ fail "keygen screen failed $i"
+ lines=`wc -l <$OBJ/moduli.out`
+ test "$lines" -eq "1" || fail "expected 1 line, got $lines"
+ done
+fi
+
+rm -f $OBJ/moduli.out $OBJ/moduli.ckpt