Merge pull request #30182 from AkihiroSuda/validate-tmpfs
validate mount path for tmpfs Upstream-commit: d4cd4b2164317e93873f2a6a43d75b0658d32d60 Component: engine
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user