Merge pull request #30182 from AkihiroSuda/validate-tmpfs

validate mount path for tmpfs
Upstream-commit: d4cd4b2164317e93873f2a6a43d75b0658d32d60
Component: engine
This commit is contained in:
Sebastiaan van Stijn
2017-01-25 03:08:17 +01:00
committed by GitHub
3 changed files with 65 additions and 0 deletions
@@ -0,0 +1,43 @@
// +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)
}
}
}