Kaynağa Gözat

Actually check the return from Close in our tests

Evan Huus 11 yıl önce
ebeveyn
işleme
430eaee5b4
4 değiştirilmiş dosya ile 33 ekleme ve 17 silme
  1. 12 4
      client_test.go
  2. 6 6
      consumer_test.go
  3. 6 3
      functional_test.go
  4. 9 4
      producer_test.go

+ 12 - 4
client_test.go

@@ -1,9 +1,17 @@
 package sarama
 
 import (
+	"io"
 	"testing"
 )
 
+func safeClose(t *testing.T, c io.Closer) {
+	err := c.Close()
+	if err != nil {
+		t.Error(err)
+	}
+}
+
 func TestDefaultClientConfigValidates(t *testing.T) {
 	config := NewClientConfig()
 	if err := config.Validate(); err != nil {
@@ -21,7 +29,7 @@ func TestSimpleClient(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 	defer mb.Close()
 }
 
@@ -38,7 +46,7 @@ func TestClientSeedBrokers(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 	defer mb1.Close()
 	defer mb2.Close()
 }
@@ -57,7 +65,7 @@ func TestClientMetadata(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 	defer mb1.Close()
 	defer mb5.Close()
 
@@ -99,7 +107,7 @@ func TestClientRefreshBehaviour(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 	defer mb1.Close()
 	defer mb5.Close()
 

+ 6 - 6
consumer_test.go

@@ -33,13 +33,13 @@ func TestSimpleConsumer(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 
 	consumer, err := NewConsumer(client, "my_topic", 0, "my_consumer_group", nil)
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer consumer.Close()
+	defer safeClose(t, consumer)
 	defer mb1.Close()
 	defer mb2.Close()
 
@@ -69,7 +69,7 @@ func TestConsumerRawOffset(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 
 	config := NewConsumerConfig()
 	config.OffsetMethod = OffsetMethodManual
@@ -78,7 +78,7 @@ func TestConsumerRawOffset(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer consumer.Close()
+	defer safeClose(t, consumer)
 
 	defer mb1.Close()
 	defer mb2.Close()
@@ -106,7 +106,7 @@ func TestConsumerLatestOffset(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 
 	config := NewConsumerConfig()
 	config.OffsetMethod = OffsetMethodNewest
@@ -114,7 +114,7 @@ func TestConsumerLatestOffset(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer consumer.Close()
+	defer safeClose(t, consumer)
 
 	defer mb2.Close()
 	defer mb1.Close()

+ 6 - 3
functional_test.go

@@ -79,7 +79,7 @@ func testProducingMessages(t *testing.T, config *ProducerConfig) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer client.Close()
+	defer safeClose(t, client)
 
 	consumerConfig := NewConsumerConfig()
 	consumerConfig.OffsetMethod = OffsetMethodNewest
@@ -88,7 +88,7 @@ func testProducingMessages(t *testing.T, config *ProducerConfig) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer consumer.Close()
+	defer safeClose(t, consumer)
 
 	config.AckSuccesses = true
 	producer, err := NewProducer(client, config)
@@ -118,7 +118,10 @@ func testProducingMessages(t *testing.T, config *ProducerConfig) {
 			t.Fatal(ret.Err)
 		}
 	}
-	producer.Close()
+	err = producer.Close()
+	if err != nil {
+		t.Error(err)
+	}
 
 	events := consumer.Events()
 	for i := 1; i <= TestBatchSize; i++ {

+ 9 - 4
producer_test.go

@@ -35,12 +35,13 @@ func TestSimpleProducer(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
+	defer safeClose(t, client)
 
 	producer, err := NewSimpleProducer(client, "my_topic", nil)
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer producer.Close()
+	defer safeClose(t, producer)
 
 	for i := 0; i < 10; i++ {
 		err = producer.SendMessage(nil, StringEncoder(TestMessage))
@@ -69,6 +70,7 @@ func TestProducer(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
+	defer safeClose(t, client)
 
 	config := NewProducerConfig()
 	config.FlushMsgCount = 10
@@ -77,7 +79,7 @@ func TestProducer(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer producer.Close()
+	defer safeClose(t, producer)
 
 	for i := 0; i < 10; i++ {
 		producer.Input() <- &MessageToSend{Topic: "my_topic", Key: nil, Value: StringEncoder(TestMessage)}
@@ -111,6 +113,7 @@ func TestProducerMultipleFlushes(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
+	defer safeClose(t, client)
 
 	config := NewProducerConfig()
 	config.FlushMsgCount = 5
@@ -161,6 +164,7 @@ func TestProducerMultipleBrokers(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
+	defer safeClose(t, client)
 
 	config := NewProducerConfig()
 	config.FlushMsgCount = 5
@@ -170,7 +174,7 @@ func TestProducerMultipleBrokers(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer producer.Close()
+	defer safeClose(t, producer)
 
 	for i := 0; i < 10; i++ {
 		producer.Input() <- &MessageToSend{Topic: "my_topic", Key: nil, Value: StringEncoder(TestMessage)}
@@ -199,6 +203,7 @@ func TestProducerFailureRetry(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
+	defer safeClose(t, client)
 
 	config := NewProducerConfig()
 	config.FlushMsgCount = 10
@@ -207,7 +212,7 @@ func TestProducerFailureRetry(t *testing.T) {
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer producer.Close()
+	defer safeClose(t, producer)
 
 	for i := 0; i < 10; i++ {
 		producer.Input() <- &MessageToSend{Topic: "my_topic", Key: nil, Value: StringEncoder(TestMessage)}