Browse code

Windows CI: Unit Test - pkg/mount is Unix specific

Signed-off-by: John Howard <jhoward@microsoft.com>

John Howard authored on 2016/02/11 11:09:15
Showing 2 changed files
1 1
deleted file mode 100644
... ...
@@ -1,137 +0,0 @@
1
-package mount
2
-
3
-import (
4
-	"os"
5
-	"path"
6
-	"testing"
7
-)
8
-
9
-func TestMountOptionsParsing(t *testing.T) {
10
-	options := "noatime,ro,size=10k"
11
-
12
-	flag, data := parseOptions(options)
13
-
14
-	if data != "size=10k" {
15
-		t.Fatalf("Expected size=10 got %s", data)
16
-	}
17
-
18
-	expectedFlag := NOATIME | RDONLY
19
-
20
-	if flag != expectedFlag {
21
-		t.Fatalf("Expected %d got %d", expectedFlag, flag)
22
-	}
23
-}
24
-
25
-func TestMounted(t *testing.T) {
26
-	tmp := path.Join(os.TempDir(), "mount-tests")
27
-	if err := os.MkdirAll(tmp, 0777); err != nil {
28
-		t.Fatal(err)
29
-	}
30
-	defer os.RemoveAll(tmp)
31
-
32
-	var (
33
-		sourceDir  = path.Join(tmp, "source")
34
-		targetDir  = path.Join(tmp, "target")
35
-		sourcePath = path.Join(sourceDir, "file.txt")
36
-		targetPath = path.Join(targetDir, "file.txt")
37
-	)
38
-
39
-	os.Mkdir(sourceDir, 0777)
40
-	os.Mkdir(targetDir, 0777)
41
-
42
-	f, err := os.Create(sourcePath)
43
-	if err != nil {
44
-		t.Fatal(err)
45
-	}
46
-	f.WriteString("hello")
47
-	f.Close()
48
-
49
-	f, err = os.Create(targetPath)
50
-	if err != nil {
51
-		t.Fatal(err)
52
-	}
53
-	f.Close()
54
-
55
-	if err := Mount(sourceDir, targetDir, "none", "bind,rw"); err != nil {
56
-		t.Fatal(err)
57
-	}
58
-	defer func() {
59
-		if err := Unmount(targetDir); err != nil {
60
-			t.Fatal(err)
61
-		}
62
-	}()
63
-
64
-	mounted, err := Mounted(targetDir)
65
-	if err != nil {
66
-		t.Fatal(err)
67
-	}
68
-	if !mounted {
69
-		t.Fatalf("Expected %s to be mounted", targetDir)
70
-	}
71
-	if _, err := os.Stat(targetDir); err != nil {
72
-		t.Fatal(err)
73
-	}
74
-}
75
-
76
-func TestMountReadonly(t *testing.T) {
77
-	tmp := path.Join(os.TempDir(), "mount-tests")
78
-	if err := os.MkdirAll(tmp, 0777); err != nil {
79
-		t.Fatal(err)
80
-	}
81
-	defer os.RemoveAll(tmp)
82
-
83
-	var (
84
-		sourceDir  = path.Join(tmp, "source")
85
-		targetDir  = path.Join(tmp, "target")
86
-		sourcePath = path.Join(sourceDir, "file.txt")
87
-		targetPath = path.Join(targetDir, "file.txt")
88
-	)
89
-
90
-	os.Mkdir(sourceDir, 0777)
91
-	os.Mkdir(targetDir, 0777)
92
-
93
-	f, err := os.Create(sourcePath)
94
-	if err != nil {
95
-		t.Fatal(err)
96
-	}
97
-	f.WriteString("hello")
98
-	f.Close()
99
-
100
-	f, err = os.Create(targetPath)
101
-	if err != nil {
102
-		t.Fatal(err)
103
-	}
104
-	f.Close()
105
-
106
-	if err := Mount(sourceDir, targetDir, "none", "bind,ro"); err != nil {
107
-		t.Fatal(err)
108
-	}
109
-	defer func() {
110
-		if err := Unmount(targetDir); err != nil {
111
-			t.Fatal(err)
112
-		}
113
-	}()
114
-
115
-	f, err = os.OpenFile(targetPath, os.O_RDWR, 0777)
116
-	if err == nil {
117
-		t.Fatal("Should not be able to open a ro file as rw")
118
-	}
119
-}
120
-
121
-func TestGetMounts(t *testing.T) {
122
-	mounts, err := GetMounts()
123
-	if err != nil {
124
-		t.Fatal(err)
125
-	}
126
-
127
-	root := false
128
-	for _, entry := range mounts {
129
-		if entry.Mountpoint == "/" {
130
-			root = true
131
-		}
132
-	}
133
-
134
-	if !root {
135
-		t.Fatal("/ should be mounted at least")
136
-	}
137
-}
138 1
new file mode 100644
... ...
@@ -0,0 +1,139 @@
0
+// +build !windows
1
+
2
+package mount
3
+
4
+import (
5
+	"os"
6
+	"path"
7
+	"testing"
8
+)
9
+
10
+func TestMountOptionsParsing(t *testing.T) {
11
+	options := "noatime,ro,size=10k"
12
+
13
+	flag, data := parseOptions(options)
14
+
15
+	if data != "size=10k" {
16
+		t.Fatalf("Expected size=10 got %s", data)
17
+	}
18
+
19
+	expectedFlag := NOATIME | RDONLY
20
+
21
+	if flag != expectedFlag {
22
+		t.Fatalf("Expected %d got %d", expectedFlag, flag)
23
+	}
24
+}
25
+
26
+func TestMounted(t *testing.T) {
27
+	tmp := path.Join(os.TempDir(), "mount-tests")
28
+	if err := os.MkdirAll(tmp, 0777); err != nil {
29
+		t.Fatal(err)
30
+	}
31
+	defer os.RemoveAll(tmp)
32
+
33
+	var (
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")
38
+	)
39
+
40
+	os.Mkdir(sourceDir, 0777)
41
+	os.Mkdir(targetDir, 0777)
42
+
43
+	f, err := os.Create(sourcePath)
44
+	if err != nil {
45
+		t.Fatal(err)
46
+	}
47
+	f.WriteString("hello")
48
+	f.Close()
49
+
50
+	f, err = os.Create(targetPath)
51
+	if err != nil {
52
+		t.Fatal(err)
53
+	}
54
+	f.Close()
55
+
56
+	if err := Mount(sourceDir, targetDir, "none", "bind,rw"); err != nil {
57
+		t.Fatal(err)
58
+	}
59
+	defer func() {
60
+		if err := Unmount(targetDir); err != nil {
61
+			t.Fatal(err)
62
+		}
63
+	}()
64
+
65
+	mounted, err := Mounted(targetDir)
66
+	if err != nil {
67
+		t.Fatal(err)
68
+	}
69
+	if !mounted {
70
+		t.Fatalf("Expected %s to be mounted", targetDir)
71
+	}
72
+	if _, err := os.Stat(targetDir); err != nil {
73
+		t.Fatal(err)
74
+	}
75
+}
76
+
77
+func TestMountReadonly(t *testing.T) {
78
+	tmp := path.Join(os.TempDir(), "mount-tests")
79
+	if err := os.MkdirAll(tmp, 0777); err != nil {
80
+		t.Fatal(err)
81
+	}
82
+	defer os.RemoveAll(tmp)
83
+
84
+	var (
85
+		sourceDir  = path.Join(tmp, "source")
86
+		targetDir  = path.Join(tmp, "target")
87
+		sourcePath = path.Join(sourceDir, "file.txt")
88
+		targetPath = path.Join(targetDir, "file.txt")
89
+	)
90
+
91
+	os.Mkdir(sourceDir, 0777)
92
+	os.Mkdir(targetDir, 0777)
93
+
94
+	f, err := os.Create(sourcePath)
95
+	if err != nil {
96
+		t.Fatal(err)
97
+	}
98
+	f.WriteString("hello")
99
+	f.Close()
100
+
101
+	f, err = os.Create(targetPath)
102
+	if err != nil {
103
+		t.Fatal(err)
104
+	}
105
+	f.Close()
106
+
107
+	if err := Mount(sourceDir, targetDir, "none", "bind,ro"); err != nil {
108
+		t.Fatal(err)
109
+	}
110
+	defer func() {
111
+		if err := Unmount(targetDir); err != nil {
112
+			t.Fatal(err)
113
+		}
114
+	}()
115
+
116
+	f, err = os.OpenFile(targetPath, os.O_RDWR, 0777)
117
+	if err == nil {
118
+		t.Fatal("Should not be able to open a ro file as rw")
119
+	}
120
+}
121
+
122
+func TestGetMounts(t *testing.T) {
123
+	mounts, err := GetMounts()
124
+	if err != nil {
125
+		t.Fatal(err)
126
+	}
127
+
128
+	root := false
129
+	for _, entry := range mounts {
130
+		if entry.Mountpoint == "/" {
131
+			root = true
132
+		}
133
+	}
134
+
135
+	if !root {
136
+		t.Fatal("/ should be mounted at least")
137
+	}
138
+}