Home | History | Annotate | Download | only in regress
      1 #	$OpenBSD: Makefile,v 1.58 2011/01/06 22:46:21 djm Exp $
      2 
      3 REGRESS_TARGETS=	t1 t2 t3 t4 t5 t6 t7 t8 t9 t-exec
      4 tests:		$(REGRESS_TARGETS)
      5 
      6 # Interop tests are not run by default
      7 interop interop-tests: t-exec-interop
      8 
      9 clean:
     10 	for F in $(CLEANFILES); do rm -f $(OBJ)$$F; done
     11 	rm -rf $(OBJ).putty
     12 
     13 distclean:	clean
     14 
     15 LTESTS= 	connect \
     16 		proxy-connect \
     17 		connect-privsep \
     18 		proto-version \
     19 		proto-mismatch \
     20 		exit-status \
     21 		envpass \
     22 		transfer \
     23 		banner \
     24 		rekey \
     25 		stderr-data \
     26 		stderr-after-eof \
     27 		broken-pipe \
     28 		try-ciphers \
     29 		yes-head \
     30 		login-timeout \
     31 		agent \
     32 		agent-getpeereid \
     33 		agent-timeout \
     34 		agent-ptrace \
     35 		keyscan \
     36 		keygen-change \
     37 		keygen-convert \
     38 		key-options \
     39 		scp \
     40 		sftp \
     41 		sftp-cmds \
     42 		sftp-badcmds \
     43 		sftp-batch \
     44 		sftp-glob \
     45 		reconfigure \
     46 		dynamic-forward \
     47 		forwarding \
     48 		multiplex \
     49 		reexec \
     50 		brokenkeys \
     51 		cfgmatch \
     52 		addrmatch \
     53 		localcommand \
     54 		forcecommand \
     55 		portnum \
     56 		keytype \
     57 		kextype \
     58 		cert-hostkey \
     59 		cert-userkey \
     60 		host-expand
     61 
     62 INTEROP_TESTS=	putty-transfer putty-ciphers putty-kex conch-ciphers
     63 #INTEROP_TESTS+=ssh-com ssh-com-client ssh-com-keygen ssh-com-sftp
     64 
     65 #LTESTS= 	cipher-speed
     66 
     67 USER!=		id -un
     68 CLEANFILES=	t2.out t3.out t6.out1 t6.out2 t7.out t7.out.pub copy.1 copy.2 \
     69 		t8.out t8.out.pub t9.out t9.out.pub \
     70 		authorized_keys_${USER} known_hosts pidfile \
     71 		ssh_config sshd_config.orig ssh_proxy sshd_config sshd_proxy \
     72 		rsa.pub rsa rsa1.pub rsa1 host.rsa host.rsa1 \
     73 		rsa-agent rsa-agent.pub rsa1-agent rsa1-agent.pub \
     74 		ls.copy banner.in banner.out empty.in \
     75 		scp-ssh-wrapper.scp ssh_proxy_envpass remote_pid \
     76 		sshd_proxy_bak rsa_ssh2_cr.prv rsa_ssh2_crnl.prv \
     77 		known_hosts-cert host_ca_key* cert_host_key* \
     78 		putty.rsa2 sshd_proxy_orig ssh_proxy_bak \
     79 		key.rsa-* key.dsa-* key.ecdsa-* \
     80 		authorized_principals_${USER} expect actual
     81 
     82 # Enable all malloc(3) randomisations and checks
     83 TEST_ENV=      "MALLOC_OPTIONS=AFGJPRX"
     84 
     85 TEST_SSH_SSHKEYGEN?=ssh-keygen
     86 
     87 t1:
     88 	${TEST_SSH_SSHKEYGEN} -if ${.CURDIR}/rsa_ssh2.prv | diff - ${.CURDIR}/rsa_openssh.prv
     89 	tr '\n' '\r' <${.CURDIR}/rsa_ssh2.prv > ${.OBJDIR}/rsa_ssh2_cr.prv
     90 	${TEST_SSH_SSHKEYGEN} -if ${.OBJDIR}/rsa_ssh2_cr.prv | diff - ${.CURDIR}/rsa_openssh.prv
     91 	awk '{print $$0 "\r"}' ${.CURDIR}/rsa_ssh2.prv > ${.OBJDIR}/rsa_ssh2_crnl.prv
     92 	${TEST_SSH_SSHKEYGEN} -if ${.OBJDIR}/rsa_ssh2_crnl.prv | diff - ${.CURDIR}/rsa_openssh.prv
     93 
     94 t2:
     95 	cat ${.CURDIR}/rsa_openssh.prv > $(OBJ)/t2.out
     96 	chmod 600 $(OBJ)/t2.out
     97 	${TEST_SSH_SSHKEYGEN} -yf $(OBJ)/t2.out | diff - ${.CURDIR}/rsa_openssh.pub
     98 
     99 t3:
    100 	${TEST_SSH_SSHKEYGEN} -ef ${.CURDIR}/rsa_openssh.pub >$(OBJ)/t3.out
    101 	${TEST_SSH_SSHKEYGEN} -if $(OBJ)/t3.out | diff - ${.CURDIR}/rsa_openssh.pub
    102 
    103 t4:
    104 	${TEST_SSH_SSHKEYGEN} -lf ${.CURDIR}/rsa_openssh.pub |\
    105 		awk '{print $$2}' | diff - ${.CURDIR}/t4.ok
    106 
    107 t5:
    108 	${TEST_SSH_SSHKEYGEN} -Bf ${.CURDIR}/rsa_openssh.pub |\
    109 		awk '{print $$2}' | diff - ${.CURDIR}/t5.ok
    110 
    111 t6:
    112 	${TEST_SSH_SSHKEYGEN} -if ${.CURDIR}/dsa_ssh2.prv > $(OBJ)/t6.out1
    113 	${TEST_SSH_SSHKEYGEN} -if ${.CURDIR}/dsa_ssh2.pub > $(OBJ)/t6.out2
    114 	chmod 600 $(OBJ)/t6.out1
    115 	${TEST_SSH_SSHKEYGEN} -yf $(OBJ)/t6.out1 | diff - $(OBJ)/t6.out2
    116 
    117 $(OBJ)/t7.out:
    118 	${TEST_SSH_SSHKEYGEN} -q -t rsa -N '' -f $@
    119 
    120 t7: $(OBJ)/t7.out
    121 	${TEST_SSH_SSHKEYGEN} -lf $(OBJ)/t7.out > /dev/null
    122 	${TEST_SSH_SSHKEYGEN} -Bf $(OBJ)/t7.out > /dev/null
    123 
    124 $(OBJ)/t8.out:
    125 	${TEST_SSH_SSHKEYGEN} -q -t dsa -N '' -f $@
    126 
    127 t8: $(OBJ)/t8.out
    128 	${TEST_SSH_SSHKEYGEN} -lf $(OBJ)/t8.out > /dev/null
    129 	${TEST_SSH_SSHKEYGEN} -Bf $(OBJ)/t8.out > /dev/null
    130 
    131 $(OBJ)/t9.out:
    132 	test "${TEST_SSH_ECC}" != yes || \
    133 	${TEST_SSH_SSHKEYGEN} -q -t ecdsa -N '' -f $@
    134 
    135 t9: $(OBJ)/t9.out
    136 	test "${TEST_SSH_ECC}" != yes || \
    137 	${TEST_SSH_SSHKEYGEN} -lf $(OBJ)/t9.out > /dev/null
    138 	test "${TEST_SSH_ECC}" != yes || \
    139 	${TEST_SSH_SSHKEYGEN} -Bf $(OBJ)/t9.out > /dev/null
    140 
    141 t-exec:	${LTESTS:=.sh}
    142 	@if [ "x$?" = "x" ]; then exit 0; fi; \
    143 	for TEST in ""$?; do \
    144 		echo "run test $${TEST}" ... 1>&2; \
    145 		(env SUDO="${SUDO}" TEST_ENV=${TEST_ENV} sh ${.CURDIR}/test-exec.sh ${.OBJDIR} ${.CURDIR}/$${TEST}) || exit $$?; \
    146 	done
    147 
    148 t-exec-interop:	${INTEROP_TESTS:=.sh}
    149 	@if [ "x$?" = "x" ]; then exit 0; fi; \
    150 	for TEST in ""$?; do \
    151 		echo "run test $${TEST}" ... 1>&2; \
    152 		(env SUDO="${SUDO}" TEST_ENV=${TEST_ENV} sh ${.CURDIR}/test-exec.sh ${.OBJDIR} ${.CURDIR}/$${TEST}) || exit $$?; \
    153 	done
    154 
    155 # Not run by default
    156 interop: ${INTEROP_TARGETS}
    157