| // +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) |
| } |
| } |
| } |