diff options
author | Darren Tucker <dtucker@zip.com.au> | 2013-05-17 09:31:39 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2013-05-17 09:31:39 +1000 |
commit | dfea3bcdd7c980c2335402464b7dd8d8721e426d (patch) | |
tree | 8a679275f462be86795ca1380e9838863f0ff2bd /regress/test-exec.sh | |
parent | 75129025a2d504b630d1718fef0da002f5662f63 (diff) |
- dtucker@cvs.openbsd.org 2013/04/07 02:16:03
[regress/Makefile regress/rekey.sh regress/integrity.sh
regress/sshd-log-wrapper.sh regress/forwarding.sh regress/test-exec.sh]
use -E option for ssh and sshd to write debuging logs to ssh{,d}.log and
save the output from any failing tests. If a test fails the debug output
from ssh and sshd for the failing tests (and only the failing tests) should
be available in failed-ssh{,d}.log.
Diffstat (limited to 'regress/test-exec.sh')
-rw-r--r-- | regress/test-exec.sh | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/regress/test-exec.sh b/regress/test-exec.sh index b02172c03..f797ab68d 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: test-exec.sh,v 1.39 2013/04/06 06:00:22 dtucker Exp $ | 1 | # $OpenBSD: test-exec.sh,v 1.40 2013/04/07 02:16:03 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | #SUDO=sudo | 4 | #SUDO=sudo |
@@ -159,6 +159,15 @@ fi | |||
159 | DATA=$OBJ/testdata | 159 | DATA=$OBJ/testdata |
160 | cat $SSHD${EXEEXT} $SSHD${EXEEXT} $SSHD${EXEEXT} $SSHD${EXEEXT} >$DATA | 160 | cat $SSHD${EXEEXT} $SSHD${EXEEXT} $SSHD${EXEEXT} $SSHD${EXEEXT} >$DATA |
161 | 161 | ||
162 | # Create wrapper ssh with logging. We can't just specify "SSH=ssh -E..." | ||
163 | # because sftp and scp don't handle spaces in arguments. | ||
164 | SSHLOGWRAP=$OBJ/ssh-log-wrapper.sh | ||
165 | echo "#!/bin/sh" > $SSHLOGWRAP | ||
166 | echo "exec ${SSH} -E${TEST_SSH_LOGFILE} "'"$@"' >>$SSHLOGWRAP | ||
167 | |||
168 | chmod a+rx $OBJ/ssh-log-wrapper.sh | ||
169 | SSH="$SSHLOGWRAP" | ||
170 | |||
162 | # these should be used in tests | 171 | # these should be used in tests |
163 | export SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER SCP | 172 | export SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER SCP |
164 | #echo $SSH $SSHD $SSHAGENT $SSHADD $SSHKEYGEN $SSHKEYSCAN $SFTP $SFTPSERVER $SCP | 173 | #echo $SSH $SSHD $SSHAGENT $SSHADD $SSHKEYGEN $SSHKEYSCAN $SFTP $SFTPSERVER $SCP |
@@ -214,9 +223,26 @@ cleanup () | |||
214 | fi | 223 | fi |
215 | } | 224 | } |
216 | 225 | ||
226 | start_debug_log () | ||
227 | { | ||
228 | echo "trace: $@" >$TEST_REGRESS_LOGFILE | ||
229 | echo "trace: $@" >$TEST_SSH_LOGFILE | ||
230 | echo "trace: $@" >$TEST_SSHD_LOGFILE | ||
231 | } | ||
232 | |||
233 | save_debug_log () | ||
234 | { | ||
235 | echo $@ >>$TEST_REGRESS_LOGFILE | ||
236 | echo $@ >>$TEST_SSH_LOGFILE | ||
237 | echo $@ >>$TEST_SSHD_LOGFILE | ||
238 | (cat $TEST_REGRESS_LOGFILE; echo) >>$OBJ/failed-regress.log | ||
239 | (cat $TEST_SSH_LOGFILE; echo) >>$OBJ/failed-ssh.log | ||
240 | (cat $TEST_SSHD_LOGFILE; echo) >>$OBJ/failed-sshd.log | ||
241 | } | ||
242 | |||
217 | trace () | 243 | trace () |
218 | { | 244 | { |
219 | echo "trace: $@" >>$TEST_REGRESS_LOGFILE | 245 | start_debug_log $@ |
220 | if [ "X$TEST_SSH_TRACE" = "Xyes" ]; then | 246 | if [ "X$TEST_SSH_TRACE" = "Xyes" ]; then |
221 | echo "$@" | 247 | echo "$@" |
222 | fi | 248 | fi |
@@ -224,7 +250,7 @@ trace () | |||
224 | 250 | ||
225 | verbose () | 251 | verbose () |
226 | { | 252 | { |
227 | echo "verbose: $@" >>$TEST_REGRESS_LOGFILE | 253 | start_debug_log $@ |
228 | if [ "X$TEST_SSH_QUIET" != "Xyes" ]; then | 254 | if [ "X$TEST_SSH_QUIET" != "Xyes" ]; then |
229 | echo "$@" | 255 | echo "$@" |
230 | fi | 256 | fi |
@@ -238,15 +264,16 @@ warn () | |||
238 | 264 | ||
239 | fail () | 265 | fail () |
240 | { | 266 | { |
241 | echo "FAIL: $@" >>$TEST_REGRESS_LOGFILE | 267 | save_debug_log "FAIL: $@" |
242 | RESULT=1 | 268 | RESULT=1 |
243 | echo "$@" | 269 | echo "$@" |
270 | |||
244 | } | 271 | } |
245 | 272 | ||
246 | fatal () | 273 | fatal () |
247 | { | 274 | { |
248 | echo "FATAL: $@" >>$TEST_REGRESS_LOGFILE | 275 | save_debug_log "FATAL: $@" |
249 | echon "FATAL: " | 276 | echo -n "FATAL: " |
250 | fail "$@" | 277 | fail "$@" |
251 | cleanup | 278 | cleanup |
252 | exit $RESULT | 279 | exit $RESULT |
@@ -278,7 +305,7 @@ cat << EOF > $OBJ/sshd_config | |||
278 | #ListenAddress ::1 | 305 | #ListenAddress ::1 |
279 | PidFile $PIDFILE | 306 | PidFile $PIDFILE |
280 | AuthorizedKeysFile $OBJ/authorized_keys_%u | 307 | AuthorizedKeysFile $OBJ/authorized_keys_%u |
281 | LogLevel VERBOSE | 308 | LogLevel DEBUG3 |
282 | AcceptEnv _XXX_TEST_* | 309 | AcceptEnv _XXX_TEST_* |
283 | AcceptEnv _XXX_TEST | 310 | AcceptEnv _XXX_TEST |
284 | Subsystem sftp $SFTPSERVER | 311 | Subsystem sftp $SFTPSERVER |
@@ -312,6 +339,7 @@ Host * | |||
312 | PasswordAuthentication no | 339 | PasswordAuthentication no |
313 | BatchMode yes | 340 | BatchMode yes |
314 | StrictHostKeyChecking yes | 341 | StrictHostKeyChecking yes |
342 | LogLevel DEBUG3 | ||
315 | EOF | 343 | EOF |
316 | 344 | ||
317 | if [ ! -z "$TEST_SSH_SSH_CONFOPTS" ]; then | 345 | if [ ! -z "$TEST_SSH_SSH_CONFOPTS" ]; then |
@@ -405,7 +433,7 @@ start_sshd () | |||
405 | { | 433 | { |
406 | # start sshd | 434 | # start sshd |
407 | $SUDO ${SSHD} -f $OBJ/sshd_config "$@" -t || fatal "sshd_config broken" | 435 | $SUDO ${SSHD} -f $OBJ/sshd_config "$@" -t || fatal "sshd_config broken" |
408 | $SUDO ${SSHD} -f $OBJ/sshd_config -e "$@" >>$TEST_SSHD_LOGFILE 2>&1 | 436 | $SUDO ${SSHD} -f $OBJ/sshd_config "$@" -E$TEST_SSHD_LOGFILE |
409 | 437 | ||
410 | trace "wait for sshd" | 438 | trace "wait for sshd" |
411 | i=0; | 439 | i=0; |