@@ -111,6 +111,7 @@ private FilePath downloadDocker(DumbSlave slave, FilePath toolDir, String versio
111111 ByteArrayOutputStream baos = new ByteArrayOutputStream ();
112112 TeeOutputStream tee = new TeeOutputStream (baos , new PlainTextConsoleOutputStream (System .err ));
113113 TaskListener l = new StreamTaskListener (tee );
114+ ByteArrayOutputStream errStream = new ByteArrayOutputStream ();
114115
115116 FilePath exe = toolDir .child (version +"/bin/docker" );
116117 // Download for first time:
@@ -124,9 +125,14 @@ private FilePath downloadDocker(DumbSlave slave, FilePath toolDir, String versio
124125 assertThat (baos .toString (), not (containsString (Messages .DockerToolInstaller_downloading_docker_client_ (version ))));
125126 // Version check:
126127 baos .reset ();
127- assertEquals (0 , slave .createLauncher (l ).launch ().cmds (exe .getRemote (), "version" , "--format" , "{{.Client.Version}}" ).quiet (true ).stdout (tee ).stderr (System .err ).join ());
128- if (!version .equals ("latest" )) {
129- assertEquals (version , baos .toString ().trim ());
128+ if (slave .createLauncher (l ).launch ().cmds (exe .getRemote (), "version" , "--format" , "{{.Client.Version}}" ).quiet (true ).stdout (tee ).stderr (errStream ).join () != 0 ) {
129+ /* Failure message should mention /var/run/docker.sock */
130+ assertThat (errStream .toString (), containsString ("/var/run/docker.sock" ));
131+ } else {
132+ /* Successful output should either be `latest` or include the docker version */
133+ if (!version .equals ("latest" )) {
134+ assertEquals (version , baos .toString ().trim ());
135+ }
130136 }
131137 return exe ;
132138 }
0 commit comments