@@ -17,6 +17,7 @@ limitations under the License.
17
17
package fc
18
18
19
19
import (
20
+ "errors"
20
21
"os"
21
22
"reflect"
22
23
"testing"
@@ -75,7 +76,13 @@ func (handler *fakeIOHandler) ReadDir(dirname string) ([]os.FileInfo, error) {
75
76
f6 := & fakeFileInfo {
76
77
name : "fc-0x5005076810213b32-lun-25" ,
77
78
}
78
- return []os.FileInfo {f4 , f5 , f6 , f1 , f2 , f3 }, nil
79
+ f7 := & fakeFileInfo {
80
+ name : "fc-0x500507681021a537-lun-0" ,
81
+ }
82
+ f8 := & fakeFileInfo {
83
+ name : "fc-0x500507681022a554-lun-2" ,
84
+ }
85
+ return []os.FileInfo {f4 , f5 , f6 , f1 , f2 , f3 , f7 , f8 }, nil
79
86
case "/sys/block/" :
80
87
f := & fakeFileInfo {
81
88
name : "dm-1" ,
@@ -91,7 +98,15 @@ func (handler *fakeIOHandler) ReadDir(dirname string) ([]os.FileInfo, error) {
91
98
}
92
99
93
100
func (handler * fakeIOHandler ) Lstat (name string ) (os.FileInfo , error ) {
94
- return nil , nil
101
+ links := map [string ]string {
102
+ "/sys/block/dm-1/slaves/sde" : "sde" ,
103
+ "/sys/block/dm-1/slaves/sdf" : "sdf" ,
104
+ "/sys/block/dm-1/slaves/sdg" : "sdg" ,
105
+ }
106
+ if dev , ok := links [name ]; ok {
107
+ return & fakeFileInfo {name : dev }, nil
108
+ }
109
+ return nil , errors .New ("device not found for mock" )
95
110
}
96
111
97
112
func (handler * fakeIOHandler ) EvalSymlinks (path string ) (string , error ) {
@@ -108,6 +123,14 @@ func (handler *fakeIOHandler) EvalSymlinks(path string) (string, error) {
108
123
return "/dev/sdx" , nil
109
124
case "/dev/disk/by-id/scsi-3600508b400105e210000900000490000" :
110
125
return "/dev/sdd" , nil
126
+ case "/dev/disk/by-path/fc-0x500507681021a537-lun-0" :
127
+ return "/dev/sde" , nil
128
+ case "/dev/disk/by-path/fc-0x500507681022a554-lun-2" :
129
+ return "/dev/sdf" , nil
130
+ case "/dev/sde" :
131
+ return "/dev/sde" , nil
132
+ case "/dev/sdf" :
133
+ return "/dev/sdf" , nil
111
134
}
112
135
return "" , nil
113
136
}
@@ -116,6 +139,10 @@ func (handler *fakeIOHandler) WriteFile(filename string, data []byte, perm os.Fi
116
139
return nil
117
140
}
118
141
142
+ func (handler * fakeIOHandler ) ReadFile (filename string ) ([]byte , error ) {
143
+ return nil , nil
144
+ }
145
+
119
146
func TestSearchDisk (t * testing.T ) {
120
147
tests := []struct {
121
148
name string
@@ -164,7 +191,7 @@ func TestSearchDisk(t *testing.T) {
164
191
lun : test .lun ,
165
192
io : & fakeIOHandler {},
166
193
},
167
- deviceUtil : util .NewDeviceHandler (util . NewIOHandler () ),
194
+ deviceUtil : util .NewDeviceHandler (& fakeIOHandler {} ),
168
195
}
169
196
devicePath , err := searchDisk (fakeMounter )
170
197
if test .expectError && err == nil {
0 commit comments