README.regress revision 126274
190926SnectarOverview. 2233294Sstas 3233294Sstas$ ./configure && make tests 490926Snectar 5233294SstasYou'll see some progress info. A failure will cause either the make to 690926Snectarabort or the driver script to report a "FATAL" failure. 790926Snectar 890926SnectarThe test consists of 2 parts. The first is the file-based tests which is 9233294Sstasdriven by the Makefile, and the second is a set of network or proxycommand 1090926Snectarbased tests, which are driven by a driver script (test-exec.sh) which is 1190926Snectarcalled multiple times by the Makefile. 12233294Sstas 1390926SnectarFailures in the first part will cause the Makefile to return an error. 1490926SnectarFailures in the second part will print a "FATAL" message for the failed 1590926Snectartest and continue. 16233294Sstas 1790926SnectarOpenBSD has a system-wide regression test suite. OpenSSH Portable's test 1890926Snectarsuite is based on OpenBSD's with modifications. 1990926Snectar 20233294Sstas 2190926SnectarEnvironment variables. 2290926Snectar 2390926SnectarSUDO: path to sudo command, if desired. Note that some systems (notably 2490926Snectar systems using PAM) require sudo to execute some tests. 2590926SnectarTEST_SSH_TRACE: set to "yes" for verbose output from tests 2690926SnectarTEST_SSH_QUIET: set to "yes" to suppress non-fatal output. 2790926SnectarTEST_SSH_x: path to "ssh" command under test, where x=SSH,SSHD,SSHAGENT,SSHADD 2890926Snectar SSHKEYGEN,SSHKEYSCAN,SFTP,SFTPSERVER 2990926SnectarOBJ: used by test scripts to access build dir. 3090926Snectar 3190926Snectar 3290926SnectarIndividual tests. 3390926Snectar 3490926SnectarYou can invoke test-exec.sh directly if you set up the path to find the 3590926Snectarbinaries under test and the test scripts themselves, for example: 3690926Snectar 3790926Snectar$ cd regress 3890926Snectar$ PATH=`pwd`/..:$PATH:. sh test-exec.sh `pwd` agent-timeout.sh 3990926Snectarok agent timeout test 4090926Snectar 4190926Snectar 4290926SnectarFiles. 43233294Sstas 4490926Snectartest-exec.sh: the main test driver. Sets environment, creates config files 4590926Snectarand keys and runs the specified test. 4690926Snectar 4790926SnectarAt the time of writing, the individual tests are: 4890926Snectaragent-timeout.sh: agent timeout test 49agent.sh: simple agent test 50broken-pipe.sh: broken pipe test 51connect-privsep.sh: proxy connect with privsep 52connect.sh: simple connect 53exit-status.sh: remote exit status 54forwarding.sh: local and remote forwarding 55keygen-change.sh: change passphrase for key 56keyscan.sh: keyscan 57proto-mismatch.sh: protocol version mismatch 58proto-version.sh: sshd version with different protocol combinations 59proxy-connect.sh: proxy connect 60sftp.sh: basic sftp put/get 61ssh-com-client.sh: connect with ssh.com client 62ssh-com-keygen.sh: ssh.com key import 63ssh-com-sftp.sh: basic sftp put/get with ssh.com server 64ssh-com.sh: connect to ssh.com server 65stderr-after-eof.sh: stderr data after eof 66stderr-data.sh: stderr data transfer 67transfer.sh: transfer data 68try-ciphers.sh: try ciphers 69yes-head.sh: yes pipe head 70 71 72Problems? 73 74Run the failing test with shell tracing (-x) turned on: 75$ PATH=`pwd`/..:$PATH:. sh -x test-exec.sh `pwd` agent-timeout.sh 76 77Failed tests can be difficult to diagnose. Suggestions: 78- run the individual test via ./test-exec.sh `pwd` [testname] 79- set LogLevel to VERBOSE in test-exec.sh and enable syslogging of 80 auth.debug (eg to /var/log/authlog). 81 82 83Known Issues. 84 85- If you build with tcpwrappers and try to run the regression tests, 86 your hosts.allow must permit connections from localhost and from 87 "unknown". This is because some tests are performed via the loopback 88 interface, while others are done with "sshd -i" as a ProxyCommand. In 89 the latter case, when sshd calls getpeername() on the socket it will 90 fail (because it's not a tcp socket) and will be identified as 91 "unknown", which is then checked against tcpwrappers. 92 93 94$Id: README.regress,v 1.3 2004/01/28 01:26:14 dtucker Exp $ 95