|
@@ -1,82 +0,0 @@
|
|
-// +build !experimental
|
|
|
|
-
|
|
|
|
-package daemon
|
|
|
|
-
|
|
|
|
-import (
|
|
|
|
- "io/ioutil"
|
|
|
|
- "os"
|
|
|
|
- "testing"
|
|
|
|
-
|
|
|
|
- "github.com/docker/docker/runconfig"
|
|
|
|
- "github.com/docker/docker/volume"
|
|
|
|
- "github.com/docker/docker/volume/drivers"
|
|
|
|
- "github.com/docker/docker/volume/local"
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
-func TestGetVolumeDefaultDriver(t *testing.T) {
|
|
|
|
- tmp, err := ioutil.TempDir("", "volume-test-")
|
|
|
|
- if err != nil {
|
|
|
|
- t.Fatal(err)
|
|
|
|
- }
|
|
|
|
- defer os.RemoveAll(tmp)
|
|
|
|
-
|
|
|
|
- l, err := local.New(tmp)
|
|
|
|
- if err != nil {
|
|
|
|
- t.Fatal(err)
|
|
|
|
- }
|
|
|
|
- volumedrivers.Register(l, volume.DefaultDriverName)
|
|
|
|
- d, err := getVolumeDriver("missing")
|
|
|
|
- if err != nil {
|
|
|
|
- t.Fatal(err)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if d.Name() != volume.DefaultDriverName {
|
|
|
|
- t.Fatalf("Expected local driver, was %s\n", d.Name)
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func TestParseBindMount(t *testing.T) {
|
|
|
|
- cases := []struct {
|
|
|
|
- bind string
|
|
|
|
- expDest string
|
|
|
|
- expSource string
|
|
|
|
- expName string
|
|
|
|
- mountLabel string
|
|
|
|
- expRW bool
|
|
|
|
- fail bool
|
|
|
|
- }{
|
|
|
|
- {"/tmp:/tmp", "/tmp", "/tmp", "", "", true, false},
|
|
|
|
- {"/tmp:/tmp:ro", "/tmp", "/tmp", "", "", false, false},
|
|
|
|
- {"/tmp:/tmp:rw", "/tmp", "/tmp", "", "", true, false},
|
|
|
|
- {"/tmp:/tmp:foo", "/tmp", "/tmp", "", "", false, true},
|
|
|
|
- {"name:/tmp", "", "", "", "", false, true},
|
|
|
|
- {"local/name:/tmp:rw", "", "", "", "", true, true},
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- for _, c := range cases {
|
|
|
|
- conf := &runconfig.Config{}
|
|
|
|
- m, err := parseBindMount(c.bind, c.mountLabel, conf)
|
|
|
|
- if c.fail {
|
|
|
|
- if err == nil {
|
|
|
|
- t.Fatalf("Expected error, was nil, for spec %s\n", c.bind)
|
|
|
|
- }
|
|
|
|
- continue
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if m.Destination != c.expDest {
|
|
|
|
- t.Fatalf("Expected destination %s, was %s, for spec %s\n", c.expDest, m.Destination, c.bind)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if m.Source != c.expSource {
|
|
|
|
- t.Fatalf("Expected source %s, was %s, for spec %s\n", c.expSource, m.Source, c.bind)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if m.Name != c.expName {
|
|
|
|
- t.Fatalf("Expected name %s, was %s for spec %s\n", c.expName, m.Name, c.bind)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if m.RW != c.expRW {
|
|
|
|
- t.Fatalf("Expected RW %v, was %v for spec %s\n", c.expRW, m.RW, c.bind)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|