From cb14fff6c6f4e20fc2243eac9df980c46d8e80fa Mon Sep 17 00:00:00 2001 From: Jerome Froelich Date: Sat, 8 Jul 2017 14:15:40 -0400 Subject: [PATCH] [test] Call cmd.Start and cmd.Wait separately to avoid triggering race detector (#616) * [test] Call cmd.Start and cmd.Wait separately to avoid triggering race detector * [test] Enable race detector for tests --- Makefile | 2 +- node_exporter_test.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b74476bd..deea0548 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ style: test: collector/fixtures/sys/.unpacked @echo ">> running tests" - @$(GO) test -short $(pkgs) + @$(GO) test -short -race $(pkgs) collector/fixtures/sys/.unpacked: collector/fixtures/sys.ttar ./ttar -C collector/fixtures -x -f collector/fixtures/sys.ttar diff --git a/node_exporter_test.go b/node_exporter_test.go index 3b579492..b5c77af6 100644 --- a/node_exporter_test.go +++ b/node_exporter_test.go @@ -107,9 +107,13 @@ func queryExporter(address string) error { } func runCommandAndTests(cmd *exec.Cmd, fn func(pid int) error) error { + if err := cmd.Start(); err != nil { + return fmt.Errorf("failed to start command: %s", err) + } + errc := make(chan error) go func() { - if err := cmd.Run(); err != nil { + if err := cmd.Wait(); err != nil { errc <- fmt.Errorf("execution of command failed: %s", err) } else { errc <- nil