Skip to content

Commit 19639fb

Browse files
committed
Execute "long" unit tests using docker containers
fixes #293
1 parent 09a0c3b commit 19639fb

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

Makefile

+12-2
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,25 @@ endif
5252
docker run --name aerospike -p "3000:3000" -d aerospike
5353
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
5454

55+
docker-run-circle:
56+
docker run --name kafka \
57+
-e ADVERTISED_HOST=localhost \
58+
-e ADVERTISED_PORT=9092 \
59+
-p "9092:9092" \
60+
-d spotify/kafka
61+
docker run --name opentsdb -p "4242:4242" -d petergrace/opentsdb-docker
62+
docker run --name aerospike -p "3000:3000" -d aerospike
63+
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
64+
5565
docker-kill:
5666
-docker kill nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka
5767
-docker rm nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka
5868

5969
test: docker-kill prepare docker-run
6070
# Sleeping for kafka leadership election, TSDB setup, etc.
6171
sleep 60
62-
# Setup SUCCESS, running tests
63-
godep go test ./...
72+
# SUCCESS, running tests
73+
godep go test -race ./...
6474

6575
test-short: prepare
6676
$(GOBIN)/godep go test -short ./...

circle.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
machine:
2+
services:
3+
- docker
24
post:
35
- go version
46
- go version | grep 1.5.1 || sudo rm -rf /usr/local/go
@@ -8,9 +10,8 @@ machine:
810

911
dependencies:
1012
override:
11-
- echo "Dummy override, so no Circle dependencies execute"
13+
- docker info
1214

1315
test:
1416
override:
1517
- bash scripts/circle-test.sh
16-

plugins/mysql/mysql_test.go

+9-4
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ func TestMysqlGeneratesMetrics(t *testing.T) {
2828
prefix string
2929
count int
3030
}{
31-
{"commands", 147},
32-
{"handler", 18},
31+
{"commands", 138},
32+
{"handler", 15},
3333
{"bytes", 2},
34-
{"innodb", 51},
34+
{"innodb", 46},
3535
{"threads", 4},
3636
{"aborted", 2},
3737
{"created", 3},
3838
{"key", 7},
3939
{"open", 7},
4040
{"opened", 3},
4141
{"qcache", 8},
42-
{"table", 5},
42+
{"table", 1},
4343
}
4444

4545
intMetrics := []string{
@@ -57,6 +57,11 @@ func TestMysqlGeneratesMetrics(t *testing.T) {
5757
}
5858
}
5959

60+
if prefix.count >= count {
61+
t.Errorf("Expected less than %d measurements with prefix %s, got %d",
62+
prefix.count, prefix.prefix, count)
63+
}
64+
6065
assert.Equal(t, prefix.count, count)
6166
}
6267

scripts/circle-test.sh

+3-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ exit_if_fail godep go build -v ./...
6969

7070
# Run the tests
7171
exit_if_fail godep go vet ./...
72-
exit_if_fail godep go test -short ./...
72+
exit_if_fail make docker-run-circle
73+
sleep 30
74+
exit_if_fail godep go test ./...
7375

7476
# Build binaries
7577
build "linux" "amd64" $VERSION

0 commit comments

Comments
 (0)