Browse code

FreeBSD's nullfs doesn't support file mount

FreeBSD doesn't have "bind" mount, but nullfs might be a similar feature.
However nullfs can mount only directories.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)

Kato Kazuyoshi authored on 2014/03/22 12:03:09
Showing 1 changed files
... ...
@@ -31,10 +31,15 @@ func TestMounted(t *testing.T) {
31 31
 	defer os.RemoveAll(tmp)
32 32
 
33 33
 	var (
34
-		sourcePath = path.Join(tmp, "sourcefile.txt")
35
-		targetPath = path.Join(tmp, "targetfile.txt")
34
+		sourceDir  = path.Join(tmp, "source")
35
+		targetDir  = path.Join(tmp, "target")
36
+		sourcePath = path.Join(sourceDir, "file.txt")
37
+		targetPath = path.Join(targetDir, "file.txt")
36 38
 	)
37 39
 
40
+	os.Mkdir(sourceDir, 0777)
41
+	os.Mkdir(targetDir, 0777)
42
+
38 43
 	f, err := os.Create(sourcePath)
39 44
 	if err != nil {
40 45
 		t.Fatal(err)
... ...
@@ -48,23 +53,23 @@ func TestMounted(t *testing.T) {
48 48
 	}
49 49
 	f.Close()
50 50
 
51
-	if err := Mount(sourcePath, targetPath, "none", "bind,rw"); err != nil {
51
+	if err := Mount(sourceDir, targetDir, "none", "bind,rw"); err != nil {
52 52
 		t.Fatal(err)
53 53
 	}
54 54
 	defer func() {
55
-		if err := Unmount(targetPath); err != nil {
55
+		if err := Unmount(targetDir); err != nil {
56 56
 			t.Fatal(err)
57 57
 		}
58 58
 	}()
59 59
 
60
-	mounted, err := Mounted(targetPath)
60
+	mounted, err := Mounted(targetDir)
61 61
 	if err != nil {
62 62
 		t.Fatal(err)
63 63
 	}
64 64
 	if !mounted {
65
-		t.Fatalf("Expected %s to be mounted", targetPath)
65
+		t.Fatalf("Expected %s to be mounted", targetDir)
66 66
 	}
67
-	if _, err := os.Stat(targetPath); err != nil {
67
+	if _, err := os.Stat(targetDir); err != nil {
68 68
 		t.Fatal(err)
69 69
 	}
70 70
 }
... ...
@@ -77,10 +82,15 @@ func TestMountReadonly(t *testing.T) {
77 77
 	defer os.RemoveAll(tmp)
78 78
 
79 79
 	var (
80
-		sourcePath = path.Join(tmp, "sourcefile.txt")
81
-		targetPath = path.Join(tmp, "targetfile.txt")
80
+		sourceDir  = path.Join(tmp, "source")
81
+		targetDir  = path.Join(tmp, "target")
82
+		sourcePath = path.Join(sourceDir, "file.txt")
83
+		targetPath = path.Join(targetDir, "file.txt")
82 84
 	)
83 85
 
86
+	os.Mkdir(sourceDir, 0777)
87
+	os.Mkdir(targetDir, 0777)
88
+
84 89
 	f, err := os.Create(sourcePath)
85 90
 	if err != nil {
86 91
 		t.Fatal(err)
... ...
@@ -94,7 +104,7 @@ func TestMountReadonly(t *testing.T) {
94 94
 	}
95 95
 	f.Close()
96 96
 
97
-	if err := Mount(sourcePath, targetPath, "none", "bind,ro"); err != nil {
97
+	if err := Mount(sourceDir, targetDir, "none", "bind,ro"); err != nil {
98 98
 		t.Fatal(err)
99 99
 	}
100 100
 	defer func() {