From a7206aebd79738993ad1105faf6bc6be6161c90f Mon Sep 17 00:00:00 2001 From: Donald Guy Date: Fri, 20 Mar 2015 12:50:03 -0400 Subject: [PATCH] builder/docker: attempt to satisfy travis for #1993 --- builder/docker/communicator.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/builder/docker/communicator.go b/builder/docker/communicator.go index c6e3829f0..bd1c87240 100644 --- a/builder/docker/communicator.go +++ b/builder/docker/communicator.go @@ -28,19 +28,23 @@ type Communicator struct { lock sync.Mutex } -var dockerVersion version.Version +var dockerVersion *version.Version var useDockerExec bool func init() { execConstraint, _ := version.NewConstraint(">= 1.4.0") versionExtractor := regexp.MustCompile(version.VersionRegexpRaw) - dockerVersionOutput, _ := exec.Command("docker", "-v").Output() - dockerVersionString := string(versionExtractor.FindSubmatch(dockerVersionOutput)[0]) + dockerVersionOutput, err := exec.Command("docker", "-v").Output() + extractedVersion := versionExtractor.FindSubmatch(dockerVersionOutput) - dockerVersion, err := version.NewVersion(dockerVersionString) - if err != nil { - log.Printf("Docker returned malformed version string: %e", err) + if extractedVersion != nil { + dockerVersionString := string(extractedVersion[0]) + dockerVersion, err = version.NewVersion(dockerVersionString) + } + + if dockerVersion == nil { + log.Printf("Could not determine docker version: %v", err) log.Printf("Assuming no `exec` capability, using `attatch`") useDockerExec = false } else {