aboutsummaryrefslogtreecommitdiff
path: root/ssh/handshake_test.go
diff options
context:
space:
mode:
authorNicola Murino <nicola.murino@gmail.com>2023-07-29 03:33:00 +0000
committerGopher Robot <gobot@golang.org>2023-07-31 18:14:41 +0000
commitedc325d13aa98b5b79708f7122a33bf392cdc1a7 (patch)
tree2432106a3e1b2a77f23736908de4b6767e2e0895 /ssh/handshake_test.go
parenteab931596093977eaac68313fb6020a29ed7653e (diff)
downloadgo-x-crypto-edc325d13aa98b5b79708f7122a33bf392cdc1a7.tar.xz
ssh: fix call to Fatalf from a non-test goroutine
Also fix some redundant type declarations. Change-Id: Iad2950b67b1ec2e2590c59393b8ad15421ed3add GitHub-Last-Rev: 41cf552f11387208491dee7b867050475043b25e GitHub-Pull-Request: golang/crypto#263 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/505798 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Filippo Valsorda <filippo@golang.org> Run-TryBot: Filippo Valsorda <filippo@golang.org>
Diffstat (limited to 'ssh/handshake_test.go')
-rw-r--r--ssh/handshake_test.go32
1 files changed, 17 insertions, 15 deletions
diff --git a/ssh/handshake_test.go b/ssh/handshake_test.go
index f190cbf..879143a 100644
--- a/ssh/handshake_test.go
+++ b/ssh/handshake_test.go
@@ -148,6 +148,7 @@ func TestHandshakeBasic(t *testing.T) {
clientDone := make(chan int, 0)
gotHalf := make(chan int, 0)
const N = 20
+ errorCh := make(chan error, 1)
go func() {
defer close(clientDone)
@@ -158,7 +159,9 @@ func TestHandshakeBasic(t *testing.T) {
for i := 0; i < N; i++ {
p := []byte{msgRequestSuccess, byte(i)}
if err := trC.writePacket(p); err != nil {
- t.Fatalf("sendPacket: %v", err)
+ errorCh <- err
+ trC.Close()
+ return
}
if (i % 10) == 5 {
<-gotHalf
@@ -177,16 +180,15 @@ func TestHandshakeBasic(t *testing.T) {
checker.waitCall <- 1
}
}
+ errorCh <- nil
}()
// Server checks that client messages come in cleanly
i := 0
- err = nil
for ; i < N; i++ {
- var p []byte
- p, err = trS.readPacket()
- if err != nil {
- break
+ p, err := trS.readPacket()
+ if err != nil && err != io.EOF {
+ t.Fatalf("server error: %v", err)
}
if (i % 10) == 5 {
gotHalf <- 1
@@ -198,8 +200,8 @@ func TestHandshakeBasic(t *testing.T) {
}
}
<-clientDone
- if err != nil && err != io.EOF {
- t.Fatalf("server error: %v", err)
+ if err := <-errorCh; err != nil {
+ t.Fatalf("sendPacket: %v", err)
}
if i != N {
t.Errorf("received %d messages, want 10.", i)
@@ -345,16 +347,16 @@ func TestHandshakeAutoRekeyRead(t *testing.T) {
// While we read out the packet, a key change will be
// initiated.
- done := make(chan int, 1)
+ errorCh := make(chan error, 1)
go func() {
- defer close(done)
- if _, err := trC.readPacket(); err != nil {
- t.Fatalf("readPacket(client): %v", err)
- }
-
+ _, err := trC.readPacket()
+ errorCh <- err
}()
- <-done
+ if err := <-errorCh; err != nil {
+ t.Fatalf("readPacket(client): %v", err)
+ }
+
<-sync.called
}