moby/integration-cli/docker_cli_create_unix_test.go
Akihiro Suda 4a8799dc0a validate mount path for tmpfs
There was no validation for `docker run --tmpfs foo`.

In this PR, only two obvious rules are implemented:
 - path must be absolute
 - path must not be "/"
We should add more rules carefully.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-01-20 06:01:48 +00:00

43 lines
949 B
Go

// +build !windows
package main
import (
"strings"
"github.com/go-check/check"
)
// Test case for #30166 (target was not validated)
func (s *DockerSuite) TestCreateTmpfsMountsTarget(c *check.C) {
testRequires(c, DaemonIsLinux)
type testCase struct {
target string
expectedError string
}
cases := []testCase{
{
target: ".",
expectedError: "mount path must be absolute",
},
{
target: "foo",
expectedError: "mount path must be absolute",
},
{
target: "/",
expectedError: "destination can't be '/'",
},
{
target: "//",
expectedError: "destination can't be '/'",
},
}
for _, x := range cases {
out, _, _ := dockerCmdWithError("create", "--tmpfs", x.target, "busybox", "sh")
if x.expectedError != "" && !strings.Contains(out, x.expectedError) {
c.Fatalf("mounting tmpfs over %q should fail with %q, but got %q",
x.target, x.expectedError, out)
}
}
}