From 43a16a8fced17bd123c803cbb53ca87b86dcccbd Mon Sep 17 00:00:00 2001 From: Lucas Clemente Date: Tue, 26 Apr 2016 16:49:11 +0200 Subject: [PATCH] add session test for closing with errors --- session_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/session_test.go b/session_test.go index 1eb5d03d..f5d1387f 100644 --- a/session_test.go +++ b/session_test.go @@ -182,5 +182,20 @@ var _ = Describe("Session", func() { time.Sleep(1 * time.Millisecond) Expect(runtime.NumGoroutine()).To(Equal(nGoRoutinesBefore)) }) + + It("closes streams with proper error", func() { + testErr := errors.New("test error") + s, err := session.NewStream(5) + Expect(err).NotTo(HaveOccurred()) + session.Close(testErr) + time.Sleep(1 * time.Millisecond) + Expect(runtime.NumGoroutine()).To(Equal(nGoRoutinesBefore)) + n, err := s.Read([]byte{0}) + Expect(n).To(BeZero()) + Expect(err).To(Equal(testErr)) + n, err = s.Write([]byte{0}) + Expect(n).To(BeZero()) + Expect(err).To(Equal(testErr)) + }) }) })