Merge pull request #8392 from jfrazelle/pr_8389

Invalid mount mode for volumes in
This commit is contained in:
Andrea Luzzardi 2014-10-03 17:22:21 -07:00
commit 84d9fd37b0
2 changed files with 13 additions and 3 deletions

View File

@ -235,7 +235,7 @@ func parseVolumesFromSpec(daemon *Daemon, spec string) (map[string]*Mount, error
if len(specParts) == 2 {
mode := specParts[1]
if validMountMode(mode) {
if !validMountMode(mode) {
return nil, fmt.Errorf("Invalid mode for volumes-from: %s", mode)
}

View File

@ -389,9 +389,19 @@ func TestRunVolumesFromInReadWriteMode(t *testing.T) {
t.Fatal(err)
}
cmd = exec.Command(dockerBinary, "run", "--volumes-from", "parent:rw", "busybox", "touch", "/test/file")
if out, _, err := runCommandWithOutput(cmd); err != nil {
t.Fatalf("running --volumes-from parent:rw failed with output: %q\nerror: %v", out, err)
}
cmd = exec.Command(dockerBinary, "run", "--volumes-from", "parent:bar", "busybox", "touch", "/test/file")
if out, _, err := runCommandWithOutput(cmd); err == nil || !strings.Contains(out, "Invalid mode for volumes-from: bar") {
t.Fatalf("running --volumes-from foo:bar should have failed with invalid mount mode: %q", out)
}
cmd = exec.Command(dockerBinary, "run", "--volumes-from", "parent", "busybox", "touch", "/test/file")
if _, err := runCommand(cmd); err != nil {
t.Fatal(err)
if out, _, err := runCommandWithOutput(cmd); err != nil {
t.Fatalf("running --volumes-from parent failed with output: %q\nerror: %v", out, err)
}
deleteAllContainers()