Commit Graph

54 Commits

Author SHA1 Message Date
dtucker@openbsd.org a6f4ac8a2b
upstream: Rework logging for the regression tests.
Previously we would log to ssh.log and sshd.log, but that is insufficient
for tests that have more than one concurent ssh/sshd.

Instead, we'll log to separate datestamped files in a $OBJ/log/ and
leave a symlink at the previous location pointing at the most recent
instance with an entry in regress.log showing which files were created
at each point.  This should be sufficient to reconstruct what happened
even for tests that use multiple instances of each program.  If the test
fails, tar up all of the logs for later analysis.

This will let us also capture the output from some of the other tools
which was previously sent to /dev/null although most of those will be
in future commits.

OpenBSD-Regress-ID: f802aa9e7fa51d1a01225c05fb0412d015c33e24
2023-03-01 22:02:47 +11:00
dtucker@openbsd.org 625f6bc398
upstream: Move scp path setting to a helper function. The previous
commit to add scp to the test sshd's path causes the t-envpass test to fail
when the test scp is given using a fully qualified path.  Put this in a
helper function and only call it from the scp tests.

OpenBSD-Regress-ID: 7533dc1c4265c1de716abb062957994195b36df4
2023-01-13 16:02:49 +11:00
djm@openbsd.org 3d9b0845f3 upstream: test setenv in both client and server, test first-match-wins
too

OpenBSD-Regress-ID: 4c8804f9db38a02db480b9923317457b377fe34b
2022-06-03 14:34:12 +10:00
markus@openbsd.org c809daaa1b upstream: add test for mux w/-Oproxy; ok djm
OpenBSD-Regress-ID: 764d5c696e2a259f1316a056e225e50023abb027
2020-06-26 15:25:57 +10:00
dtucker@openbsd.org a0c81d2402 upstream: Move setting $NC into test-exec since it's now used by
multiple tests, and in -portable we use our own local copy to avoid
portability problems.

OpenBSD-Regress-ID: ceb78445fcaac317bec2fc51b3f0d9589048c114
2020-01-25 14:33:53 +11:00
dtucker@openbsd.org 94a2e5951b upstream: Wait a bit longer for the multiplex master to become ready
since on very slow hosts the current delay is not sufficient and the test
will fail.

OpenBSD-Regress-ID: 6d90c7475d67ac3a95610b64af700629ece51a48
2020-01-25 11:51:03 +11:00
dtucker@openbsd.org de08335a4c upstream: Add a sleep to allow forwards to come up.
Currently when the multiplex client requests a forward it returns
once the request has been sent but not necessarily when the forward
is up.  This causes intermittent text failures due to this race,
so add some sleeps to mitigate this until we can fix it properly.

OpenBSD-Regress-ID: 384c7d209d2443d25ea941d7f677e932621fb253
2019-07-05 15:06:04 +10:00
Darren Tucker 4d24928472 Remove nc stderr redirection to resync w/OpenBSD. 2019-07-05 14:58:57 +10:00
djm@openbsd.org 609644027d upstream: regress bits for banner processing refactor (this test was
depending on ssh returning a particular error message for banner parsing
failure)

reminded by bluhm@

OpenBSD-Regress-ID: f24fc303d40931157431df589b386abf5e1be575
2019-01-17 16:27:05 +11:00
Damien Miller c59aca8adb Create control sockets in clean temp directories
Adds a regress/mkdtemp tool and uses it to create empty temp
directories for tests needing control sockets.

Patch from Colin Watson via bz#2660; ok dtucker
2018-07-20 14:55:29 +10:00
djm@openbsd.org dd369320d2 upstream commit
eliminate explicit specification of protocol in tests and
loops over protocol. We only support SSHv2 now.

Upstream-Regress-ID: 0082838a9b8a382b7ee9cbf0c1b9db727784fadd
2017-05-01 11:59:42 +10:00
Damien Miller bd58853102 valgrind support 2015-02-26 14:55:55 -08:00
Damien Miller 293cac52dc include and use OpenBSD netcat in regress/ 2014-12-23 08:38:12 +11:00
djm@openbsd.org 0d1b241a26 upstream commit
make this slightly easier to diff against portable
2014-12-22 17:21:51 +11:00
djm@openbsd.org 6b40567ed7 upstream commit
poll changes to netcat (usr.bin/netcat.c r1.125) broke
 this test; fix it by ensuring more stdio fds are sent to devnull
2014-12-22 13:18:41 +11:00
Damien Miller f8988fbef0 - (djm) [regress/multiplex.sh] Use -d (detach stdin) flag to disassociate
nc from stdin, it's more portable
2014-08-01 13:31:52 +10:00
Damien Miller 5b3879fd4b - (djm) [regress/multiplex.sh] Instruct nc not to quit as soon as stdin
is closed; avoid regress failures when stdin is /dev/null
2014-08-01 12:28:31 +10:00
Damien Miller a9c46746d2 - (djm) [regress/multiplex.sh] Skip test for non-OpenBSD netcat. We need
a better solution, but this will have to do for now.
2014-08-01 12:26:49 +10:00
Damien Miller 56b840f2b8 - (djm) [regress/multiplex.sh] restore incorrectly deleted line;
pointed out by Christian Hesse
2014-07-25 08:11:30 +10:00
Darren Tucker cea099a7c4 - djm@cvs.openbsd.org 2014/07/22 01:32:12
[regress/multiplex.sh]
     change the test for still-open Unix domain sockets to be robust against
     nc implementations that produce error messages. from -portable
     (Id sync only)
2014-07-23 10:04:02 +10:00
Damien Miller 04f4824940 - (djm) [regress/multiplex.sh] change the test for still-open Unix
domain sockets to be robust against nc implementations that produce
    error messages.
2014-07-22 11:31:47 +10:00
Damien Miller 5ea4fe00d5 - (djm) [regress/multiplex.sh] ssh mux master lost -N somehow;
put it back
2014-07-22 09:39:19 +10:00
Damien Miller c8f610f6cc - (djm) [regress/multiplex.sh] Not all netcat accept the -N option. 2014-07-21 10:23:27 +10:00
Damien Miller 0e4e95566c - millert@cvs.openbsd.org 2014/07/15 15:54:15
[forwarding.sh multiplex.sh]
     Add support for Unix domain socket forwarding.  A remote TCP port
     may be forwarded to a local Unix domain socket and vice versa or
     both ends may be a Unix domain socket.  This is a reimplementation
     of the streamlocal patches by William Ahern from:
         http://www.25thandclement.com/~william/projects/streamlocal.html
     OK djm@ markus@
2014-07-21 09:52:54 +10:00
Damien Miller 7a57eb3d10 - djm@cvs.openbsd.org 2014/07/07 08:15:26
[multiplex.sh]
     remove forced-fatal that I stuck in there to test the new cleanup
     logic and forgot to remove...
2014-07-09 13:22:31 +10:00
Damien Miller 612f965239 - djm@cvs.openbsd.org 2014/07/06 07:42:03
[multiplex.sh test-exec.sh]
     add a hook to the cleanup() function to kill $SSH_PID if it is set

     use it to kill the mux master started in multiplex.sh (it was being left
     around on fatal failures)
2014-07-09 13:22:03 +10:00
Darren Tucker 59d928d3b4 - dtucker@cvs.openbsd.org 2013/05/17 04:29:14
[regress/sftp.sh regress/putty-ciphers.sh regress/cipher-speed.sh
     regress/test-exec.sh regress/sftp-batch.sh regress/dynamic-forward.sh
     regress/putty-transfer.sh regress/conch-ciphers.sh regress/sftp-cmds.sh
     regress/scp.sh regress/ssh-com-sftp.sh regress/rekey.sh
     regress/putty-kex.sh regress/stderr-data.sh regress/stderr-after-eof.sh
     regress/sftp-badcmds.sh regress/reexec.sh regress/ssh-com-client.sh
     regress/sftp-chroot.sh regress/forwarding.sh regress/transfer.sh
     regress/multiplex.sh]
     Move the setting of DATA and COPY into test-exec.sh
2013-05-17 15:32:29 +10:00
Darren Tucker a4df65b9fc - dtucker@cvs.openbsd.org 2013/04/22 07:28:53
[multiplex.sh]
     Add tests for -Oforward and -Ocancel for local and remote forwards
2013-05-17 09:37:31 +10:00
Darren Tucker 40aaff7e4b - dtucker@cvs.openbsd.org 2013/04/22 07:23:08
[multiplex.sh]
     Write mux master logs to regress.log instead of ssh.log to keep separate
2013-05-17 09:36:20 +10:00
Darren Tucker 75129025a2 - dtucker@cvs.openbsd.org 2013/04/06 06:00:22
[regress/rekey.sh regress/test-exec.sh regress/integrity.sh
     regress/multiplex.sh Makefile regress/cfgmatch.sh]
     Split the regress log into 3 parts: the debug output from ssh, the debug
     log from sshd and the output from the client command (ssh, scp or sftp).
     Somewhat functional now, will become more useful when ssh/sshd -E is added.
2013-05-17 09:19:10 +10:00
Damien Miller d27a026ab7 - dtucker@cvs.openbsd.org 2012/10/05 02:05:30
[regress/multiplex.sh]
     Use 'kill -0' to test for the presence of a pid since it's more portable
2012-12-03 10:06:37 +11:00
Darren Tucker ee4ad778d7 - dtucker@cvs.openbsd.org 2012/09/10 01:51:19
[regress/multiplex.sh]
     use -Ocheck and waiting for completions by PID to make multiplexing test
     less racy and (hopefully) more reliable on slow hardware.
2012-10-05 12:04:10 +10:00
Darren Tucker 9b2c0360cf - dtucker@cvs.openbsd.org 2012/09/10 00:49:21
[regress/multiplex.sh]
     Log -O cmd output to the log file and make logging consistent with the
     other tests.  Test clean shutdown of an existing channel when testing
     "stop".
2012-10-05 11:45:39 +10:00
Darren Tucker 6fc5aa8b2e - dtucker@cvs.openbsd.org 2012/09/09 11:51:25
[multiplex.sh]
     Add test for ssh -Ostop
2012-10-05 11:43:57 +10:00
Darren Tucker 4430a86c14 - djm@cvs.openbsd.org 2012/06/01 00:47:35
[multiplex.sh forwarding.sh]
     append to rather than truncate test log; bz#2013 from openssh AT
     roumenpetrov.
2012-06-30 15:03:28 +10:00
Damien Miller 58497780ab - (djm) [configure.ac regress/agent-getpeereid.sh regress/multiplex.sh]
[regress/sftp-glob.sh regress/test-exec.sh] Rework how feature tests are
   disabled on platforms that do not support them; add a "config_defined()"
   shell function that greps for defines in config.h and use them to decide
   on feature tests.
   Convert a couple of existing grep's over config.h to use the new function
   Add a define "FILESYSTEM_NO_BACKSLASH" for filesystem that can't represent
   backslash characters in filenames, enable it for Cygwin and use it to turn
   of tests for quotes backslashes in sftp-glob.sh.
   based on discussion with vinschen AT redhat.com and dtucker@; ok dtucker@
2011-01-17 16:17:09 +11:00
Darren Tucker 7988553585 - dtucker@cvs.openbsd.org 2009/05/05 07:51:36
[regress/multiplex.sh]
     Always specify ssh_config for multiplex tests: prevents breakage caused
     by options in ~/.ssh/config.  From Dan Peterson.
2009-10-07 10:30:57 +11:00
Damien Miller c34940c1f5 - dtucker@cvs.openbsd.org 2005/04/25 09:54:09
[regress/multiplex.sh]
     Don't call cleanup in multiplex as test-exec will cleanup anyway
     found by tim@, ok djm@
     NB. ID sync only, we already had this
2006-01-31 21:57:27 +11:00
Darren Tucker af342556b9 - (dtucker) [regress/multiplex.sh] Put control socket in /tmp so running
"make tests" works even if you'r building on a filesystem that doesn't
   support sockets.  From deengert at anl.gov, ok djm@
2005-04-25 17:01:26 +10:00
Darren Tucker bf2b398327 - (dtucker) [regress/multiplex.sh] Remove cleanup call since test-exec.sh
will clean up anyway.  From tim@
2005-04-25 14:49:48 +10:00
Darren Tucker faefd2e73d - (dtucker) [regress/multiplex.sh] Use "kill -0 $pid" to check for the
existence of a process since it's more portable.  Found by jbasney at
   ncsa.uiuc.edu; ok tim@
2005-04-25 14:48:22 +10:00
Darren Tucker a0f3ba71a0 - dtucker@cvs.openbsd.org 2005/02/27 11:33:30
[multiplex.sh test-exec.sh sshd-log-wrapper.sh]
     Add optional capability to log output from regress commands; ok markus@
     Use with: make TEST_SSH_LOGFILE=/tmp/regress.log
2005-03-07 18:33:02 +11:00
Darren Tucker 79ec66e980 - djm@cvs.openbsd.org 2004/11/07 00:32:41
[multiplex.sh]
     regression tests for new multiplex commands
2004-12-06 23:12:15 +11:00
Darren Tucker 2a81adc35c - (dtucker) [regress/multiplex.sh] Skip test on platforms that do not
support FD passing since multiplex requires it.  Noted by tim@
2004-08-29 17:09:34 +10:00
Darren Tucker 430c6a1552 - markus@cvs.openbsd.org 2004/06/22 03:12:13
[regress/envpass.sh regress/multiplex.sh]
     more portable env passing tests
2004-06-22 13:38:56 +10:00
Darren Tucker 6288dc14fc - dtucker@cvs.openbsd.org 2004/06/18 06:15:51
[multiplex.sh]
     Use -S for scp/sftp to force the use of the ssh being tested.
     ok djm@,markus@
2004-06-18 16:25:35 +10:00
Damien Miller e826a8c9d9 - djm@cvs.openbsd.org 2004/06/17 14:53:27
[regress/multiplex.sh]
     shared connection env passing regress test
2004-06-18 01:23:03 +10:00
Darren Tucker a9972e19e9 - (dtucker) [regress/multiplex.sh] Increase sleep time to 120 sec (60 is not
enough for slow systems, especially if they don't have a kernel RNG).
2004-06-17 17:01:21 +10:00
Darren Tucker 10e7f1929b - (dtucker) [regress/multiplex.sh] add EXEEXT for those platforms that need
it.
2004-06-17 16:36:27 +10:00
Darren Tucker 3e86fc4e99 - dtucker@cvs.openbsd.org 2004/06/17 06:19:06
[regress/multiplex.sh]
     Add small description of failing test to failure message; ok djm@
2004-06-17 16:34:02 +10:00