Browse Source

Merge pull request #364 from Shopify/dev_tooling

Dev tooling fixes
Willem van Bergen 10 years ago
parent
commit
086643fba5
3 changed files with 49 additions and 19 deletions
  1. 11 10
      .travis.yml
  2. 24 0
      Makefile
  3. 14 9
      functional_test.go

+ 11 - 10
.travis.yml

@@ -6,7 +6,9 @@ go:
 
 
 env:
 env:
   global:
   global:
-  - KAFKA_INSTALL_ROOT=/home/travis/kafka KAFKA_HOSTNAME=localhost
+  - KAFKA_PEERS=localhost:6667,localhost:6668,localhost:6669,localhost:6670,localhost:6671
+  - KAFKA_INSTALL_ROOT=/home/travis/kafka
+  - KAFKA_HOSTNAME=localhost
   matrix:
   matrix:
   - KAFKA_VERSION=0.8.1.1
   - KAFKA_VERSION=0.8.1.1
   - KAFKA_VERSION=0.8.2.1
   - KAFKA_VERSION=0.8.2.1
@@ -16,17 +18,16 @@ before_install:
 - vagrant/install_cluster.sh
 - vagrant/install_cluster.sh
 - vagrant/boot_cluster.sh
 - vagrant/boot_cluster.sh
 - vagrant/create_topics.sh
 - vagrant/create_topics.sh
-- go get golang.org/x/tools/cmd/vet
-- go get github.com/kisielk/errcheck
 
 
-script:
-- go test -v -race ./...
-- go vet ./...
-- errcheck github.com/Shopify/sarama/...
-- if [[ -n $(go fmt ./...) ]]; then echo "Please run go fmt on your code." && exit 1; fi
 
 
-notifications:
-  flowdock: 15e08f7ed3a8fd2d89ddb36435301c1a
+install:
+- make install_dependencies
+
+script:
+- make test
+- make vet
+- make errcheck
+- make fmt
 
 
 matrix:
 matrix:
   allow_failures:
   allow_failures:

+ 24 - 0
Makefile

@@ -0,0 +1,24 @@
+default: fmt vet errcheck test
+
+test:
+	go test -v -race ./...
+
+vet:
+	go vet ./...
+
+errcheck:
+	errcheck github.com/Shopify/sarama/...
+
+fmt:
+	@if [[ -n $$(go fmt ./...) ]]; then echo 'Please run go fmt on your code.' && exit 1; fi
+
+install_dependencies: install_errcheck install_go_vet get
+
+install_errcheck:
+	go get github.com/kisielk/errcheck
+
+install_go_vet:
+	go get golang.org/x/tools/cmd/vet
+
+get:
+	go get

+ 14 - 9
functional_test.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"fmt"
 	"net"
 	"net"
 	"os"
 	"os"
+	"strings"
 	"sync"
 	"sync"
 	"testing"
 	"testing"
 	"time"
 	"time"
@@ -11,20 +12,24 @@ import (
 
 
 const (
 const (
 	TestBatchSize = 1000
 	TestBatchSize = 1000
+
+	VagrantKafkaPeers     = "192.168.100.67:6667,192.168.100.67:6668,192.168.100.67:6669,192.168.100.67:6670,192.168.100.67:6671"
+	VagrantZookeeperPeers = "192.168.100.67:2181,192.168.100.67:2182,192.168.100.67:2183,192.168.100.67:2184,192.168.100.67:2185"
 )
 )
 
 
 var (
 var (
 	kafkaIsAvailable, kafkaShouldBeAvailable bool
 	kafkaIsAvailable, kafkaShouldBeAvailable bool
-	kafkaAddr                                string
+	kafkaBrokers                             []string
 )
 )
 
 
 func init() {
 func init() {
-	kafkaAddr = os.Getenv("KAFKA_ADDR")
-	if kafkaAddr == "" {
-		kafkaAddr = "localhost:6667"
+	kafkaPeers := os.Getenv("KAFKA_PEERS")
+	if kafkaPeers == "" {
+		kafkaPeers = VagrantKafkaPeers
 	}
 	}
+	kafkaBrokers = strings.Split(kafkaPeers, ",")
 
 
-	if c, err := net.Dial("tcp", kafkaAddr); err == nil {
+	if c, err := net.Dial("tcp", kafkaBrokers[0]); err == nil {
 		if err = c.Close(); err == nil {
 		if err = c.Close(); err == nil {
 			kafkaIsAvailable = true
 			kafkaIsAvailable = true
 		}
 		}
@@ -36,9 +41,9 @@ func init() {
 func checkKafkaAvailability(t *testing.T) {
 func checkKafkaAvailability(t *testing.T) {
 	if !kafkaIsAvailable {
 	if !kafkaIsAvailable {
 		if kafkaShouldBeAvailable {
 		if kafkaShouldBeAvailable {
-			t.Fatalf("Kafka broker is not available on %s. Set KAFKA_ADDR to connect to Kafka on a different location.", kafkaAddr)
+			t.Fatalf("Kafka broker is not available on %s. Set KAFKA_PEERS to connect to Kafka on a different location.", kafkaBrokers[0])
 		} else {
 		} else {
-			t.Skipf("Kafka broker is not available on %s. Set KAFKA_ADDR to connect to Kafka on a different location.", kafkaAddr)
+			t.Skipf("Kafka broker is not available on %s. Set KAFKA_PEERS to connect to Kafka on a different location.", kafkaBrokers[0])
 		}
 		}
 	}
 	}
 }
 }
@@ -91,7 +96,7 @@ func TestFuncMultiPartitionProduce(t *testing.T) {
 	config.Producer.Flush.Frequency = 50 * time.Millisecond
 	config.Producer.Flush.Frequency = 50 * time.Millisecond
 	config.Producer.Flush.Messages = 200
 	config.Producer.Flush.Messages = 200
 	config.Producer.Return.Successes = true
 	config.Producer.Return.Successes = true
-	producer, err := NewAsyncProducer([]string{kafkaAddr}, config)
+	producer, err := NewAsyncProducer(kafkaBrokers, config)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
@@ -125,7 +130,7 @@ func testProducingMessages(t *testing.T, config *Config) {
 	config.Producer.Return.Successes = true
 	config.Producer.Return.Successes = true
 	config.Consumer.Return.Errors = true
 	config.Consumer.Return.Errors = true
 
 
-	client, err := NewClient([]string{kafkaAddr}, config)
+	client, err := NewClient(kafkaBrokers, config)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}