This occasionally pops up in the tests on Drone, looks like we have a race condition:
$ make test
go get github.com/GeertJohan/fgt
go get github.com/golang/lint/golint
echo 'const Version = "0.8.2"' >> cmd/gearcmd/version.go
FORMATTING github.com/Clever/gearcmd/argsparser...
LINTING github.com/Clever/gearcmd/argsparser...
VETTING github.com/Clever/gearcmd/argsparser...
TESTING github.com/Clever/gearcmd/argsparser...
=== RUN TestParseArgs
--- PASS: TestParseArgs (0.00s)
PASS
ok github.com/Clever/gearcmd/argsparser 0.006s
FORMATTING github.com/Clever/gearcmd/baseworker...
LINTING github.com/Clever/gearcmd/baseworker...
/var/cache/drone/src/github.com/Clever/gearcmd/baseworker/worker.go:101:7: don't use underscores in Go names; var rc_err should be rcErr
VETTING github.com/Clever/gearcmd/baseworker...
TESTING github.com/Clever/gearcmd/baseworker...
=== RUN TestJobFuncConversion
--- PASS: TestJobFuncConversion (0.00s)
=== RUN TestCanDo
--- PASS: TestCanDo (0.00s)
=== RUN TestJobAssign
{"error":"read tcp4 127.0.0.1:37266-\u003e127.0.0.1:1337: use of closed network connection","level":"info","name":"worker_name","source":"gearcmd","title":"err-disconnected-and-reconnecting"}
{"level":"info","name":"worker_name","source":"gearcmd","title":"gearman-reconnected"}
--- PASS: TestJobAssign (0.00s)
=== RUN TestShutdownWaitsForJobCompletion
{"error":"EOF","level":"info","name":"worker_name","source":"gearcmd","title":"err-disconnected-and-reconnecting"}
{"level":"info","name":"worker_name","source":"gearcmd","title":"gearman-reconnected"}
panic: send on closed channel [recovered]
panic: interface conversion: string is not error: missing method Error
goroutine 26 [running]:
panic(0x603ac0, 0xc8200985c0)
/usr/local/go/src/runtime/panic.go:481 +0x3e6
github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker.(*agent).work.func1(0xc820014370)
/var/cache/drone/src/github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker/agent.go:49 +0x6f
panic(0x5ad840, 0xc8200aa3f0)
/usr/local/go/src/runtime/panic.go:443 +0x4e9
github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker.(*agent).work(0xc820014370)
/var/cache/drone/src/github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker/agent.go:102 +0x7a7
created by github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker.(*agent).reconnect
/var/cache/drone/src/github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker/agent.go:166 +0x384
exit status 2
FAIL github.com/Clever/gearcmd/baseworker 0.008s
make: *** [github.com/Clever/gearcmd/baseworker] Error 1
This occasionally pops up in the tests on Drone, looks like we have a race condition: