Forráskód Böngészése

Another try to fix InspectExecID

Signed-off-by: Doug Davis <dug@us.ibm.com>
Doug Davis 10 éve
szülő
commit
fe6a7c8e57
1 módosított fájl, 12 hozzáadás és 5 törlés
  1. 12 5
      integration-cli/docker_cli_exec_test.go

+ 12 - 5
integration-cli/docker_cli_exec_test.go

@@ -316,9 +316,9 @@ func (s *DockerSuite) TestInspectExecID(c *check.C) {
 		c.Fatalf("ExecIDs should be empty, got: %s", out)
 		c.Fatalf("ExecIDs should be empty, got: %s", out)
 	}
 	}
 
 
-	// Start an exec, have it block waiting for input so we can do some checking
-	cmd := exec.Command(dockerBinary, "exec", "-i", id, "sh", "-c", "read a")
-	execStdin, _ := cmd.StdinPipe()
+	// Start an exec, have it block waiting so we can do some checking
+	cmd := exec.Command(dockerBinary, "exec", id, "sh", "-c",
+		"while ! test -e /tmp/execid1; do sleep 1; done")
 
 
 	if err = cmd.Start(); err != nil {
 	if err = cmd.Start(); err != nil {
 		c.Fatalf("failed to start the exec cmd: %q", err)
 		c.Fatalf("failed to start the exec cmd: %q", err)
@@ -349,8 +349,15 @@ func (s *DockerSuite) TestInspectExecID(c *check.C) {
 		c.Fatalf("failed to get the exec id: %v", err)
 		c.Fatalf("failed to get the exec id: %v", err)
 	}
 	}
 
 
-	// End the exec by closing its stdin, and wait for it to end
-	execStdin.Close()
+	// End the exec by creating the missing file
+	err = exec.Command(dockerBinary, "exec", id,
+		"sh", "-c", "touch /tmp/execid1").Run()
+
+	if err != nil {
+		c.Fatalf("failed to run the 2nd exec cmd: %q", err)
+	}
+
+	// Wait for 1st exec to complete
 	cmd.Wait()
 	cmd.Wait()
 
 
 	// All execs for the container should be gone now
 	// All execs for the container should be gone now