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