From 6dfb5b4e1f5e267af29660a3ce6718f147f6e234 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Tue, 20 Nov 2007 16:47:56 +0000 Subject: [PATCH] Don't gather additional debug info unless sshd actually fails --- tests/sshserver.pl | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/tests/sshserver.pl b/tests/sshserver.pl index 695b3728d..049200941 100644 --- a/tests/sshserver.pl +++ b/tests/sshserver.pl @@ -304,17 +304,24 @@ if (system "$sshd -t -f $conffile > log/sshd.log 2>&1") { } # Start the server -my $rc = system "$sshd -e -D -f $conffile > log/sshd.log 2>&1"; -$rc >>= 8; -if($rc && $verbose) { - print STDERR "$sshd exited with $rc!\n"; -} -if($rc) { - print "$sshd exited with $rc!\n"; +my $cmdretval = system "$sshd -e -D -f $conffile > log/sshd.log 2>&1"; +my $cmdnoexec = $!; +if ($cmdretval == -1) { + print "$sshd failed with: \n"; + print "$cmdnoexec \n"; displayfile("log/sshd.log"); displayfile("$conffile"); } +elsif ($cmdretval & 127) { + printf("$sshd died with signal %d, and %s coredump.\n", + ($cmdretval & 127), ($cmdretval & 128)?"a":"no"); + displayfile("log/sshd.log"); + displayfile("$conffile"); +} +elsif ($verbose && ($cmdretval >> 8)) { + printf("$sshd exited with %d \n", $cmdretval >> 8); +} unlink $conffile; -exit $rc; +exit $cmdretval >> 8;