Skip to content

Commit

Permalink
Defer closing stream for reading
Browse files Browse the repository at this point in the history
  • Loading branch information
dennis-tra committed May 1, 2021
1 parent dccf408 commit 3c368cb
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
5 changes: 4 additions & 1 deletion suites/transport/stream_suite.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ type Options struct {
}

func fullClose(t *testing.T, s mux.MuxedStream) {
if err := s.Close(); err != nil {
if err := s.CloseWrite(); err != nil {
t.Error(err)
s.Reset()
return
Expand All @@ -67,6 +67,9 @@ func fullClose(t *testing.T, s mux.MuxedStream) {
if len(b) != 0 {
t.Error("expected to be done reading")
}
if err := s.Close(); err != nil {
t.Error(err)
}
}

func randBuf(size int) []byte {
Expand Down
19 changes: 16 additions & 3 deletions suites/transport/transport_suite.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ func SubtestBasic(t *testing.T, ta, tb transport.Transport, maddr ma.Multiaddr,
t.Fatalf("failed to write enough data (a->b)")
return
}
err = s.Close()
if err != nil {

if err = s.CloseWrite(); err != nil {
t.Fatal(err)
return
}
Expand All @@ -155,6 +155,11 @@ func SubtestBasic(t *testing.T, ta, tb transport.Transport, maddr ma.Multiaddr,
if !bytes.Equal(testData, buf) {
t.Errorf("expected %s, got %s", testData, buf)
}

if err = s.Close(); err != nil {
t.Fatal(err)
return
}
}

func SubtestPingPong(t *testing.T, ta, tb transport.Transport, maddr ma.Multiaddr, peerA peer.ID) {
Expand Down Expand Up @@ -265,7 +270,10 @@ func SubtestPingPong(t *testing.T, ta, tb transport.Transport, maddr ma.Multiadd
t.Error("failed to write enough data (a->b)")
return
}
s.Close()
if err = s.CloseWrite(); err != nil {
t.Fatal(err)
return
}

ret, err := ioutil.ReadAll(s)
if err != nil {
Expand All @@ -276,6 +284,11 @@ func SubtestPingPong(t *testing.T, ta, tb transport.Transport, maddr ma.Multiadd
if !bytes.Equal(data, ret) {
t.Errorf("expected %q, got %q", string(data), string(ret))
}

if err = s.Close(); err != nil {
t.Fatal(err)
return
}
}(i)
}
wg.Wait()
Expand Down

0 comments on commit 3c368cb

Please sign in to comment.