add test to ensure / can't be bind mounted

This adds a test which checks that we're erroring out when we attempt
to bind mount root in a container.
This commit is contained in:
unclejack 2013-10-19 01:53:15 +03:00
parent 4b8c41c4a2
commit f1f39616eb
1 changed files with 18 additions and 0 deletions

View File

@ -660,4 +660,22 @@ func TestCmdLogs(t *testing.T) {
if err := cli.CmdLogs(globalRuntime.List()[0].ID); err != nil {
t.Fatal(err)
}
// Expected behaviour: using / as a bind mount source should throw an error
func TestRunErrorBindMountRootSource(t *testing.T) {
cli := NewDockerCli(nil, nil, ioutil.Discard, testDaemonProto, testDaemonAddr)
defer cleanup(globalRuntime)
c := make(chan struct{})
go func() {
defer close(c)
if err := cli.CmdRun("-v", "/:/tmp", unitTestImageID, "echo 'should fail'"); err == nil {
t.Fatal("should have failed to run when using / as a source for the bind mount")
}
}()
setTimeout(t, "CmdRun timed out", 5*time.Second, func() {
<-c
})
}