44 lines
949 B
Go
44 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)
|
||
|
}
|
||
|
}
|
||
|
}
|