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