1
1
package csimounter_test
2
2
3
3
import (
4
- "log"
5
- "os"
6
4
"os/exec"
7
5
"path/filepath"
8
- "syscall"
9
6
"testing"
10
7
11
8
"github.com/google/go-cmp/cmp/cmpopts"
12
9
13
10
"github.com/awslabs/aws-s3-csi-driver/cmd/aws-s3-csi-mounter/csimounter"
11
+ "github.com/awslabs/aws-s3-csi-driver/pkg/driver/node/mounter/mountertest"
14
12
"github.com/awslabs/aws-s3-csi-driver/pkg/podmounter/mountoptions"
15
13
"github.com/awslabs/aws-s3-csi-driver/pkg/util/testutil/assert"
16
14
)
@@ -19,10 +17,10 @@ func TestRunningMountpoint(t *testing.T) {
19
17
mountpointPath := filepath .Join (t .TempDir (), "mount-s3" )
20
18
21
19
t .Run ("Passes bucket name and FUSE device as mount point" , func (t * testing.T ) {
22
- dev := openDevNull (t )
20
+ dev := mountertest . OpenDevNull (t )
23
21
24
22
runner := func (c * exec.Cmd ) (int , error ) {
25
- assertSameFile (t , dev , c .ExtraFiles [0 ])
23
+ mountertest . AssertSameFile (t , dev , c .ExtraFiles [0 ])
26
24
assert .Equals (t , mountpointPath , c .Path )
27
25
assert .Equals (t , []string {mountpointPath , "test-bucket" , "/dev/fd/3" }, c .Args [:3 ])
28
26
return 0 , nil
@@ -50,7 +48,7 @@ func TestRunningMountpoint(t *testing.T) {
50
48
exitCode , err := csimounter .Run (csimounter.Options {
51
49
MountpointPath : mountpointPath ,
52
50
MountOptions : mountoptions.Options {
53
- Fd : int (openDevNull (t ).Fd ()),
51
+ Fd : int (mountertest . OpenDevNull (t ).Fd ()),
54
52
BucketName : "test-bucket" ,
55
53
},
56
54
CmdRunner : runner ,
@@ -70,7 +68,7 @@ func TestRunningMountpoint(t *testing.T) {
70
68
exitCode , err := csimounter .Run (csimounter.Options {
71
69
MountpointPath : mountpointPath ,
72
70
MountOptions : mountoptions.Options {
73
- Fd : int (openDevNull (t ).Fd ()),
71
+ Fd : int (mountertest . OpenDevNull (t ).Fd ()),
74
72
Env : env ,
75
73
},
76
74
CmdRunner : runner ,
@@ -92,7 +90,7 @@ func TestRunningMountpoint(t *testing.T) {
92
90
exitCode , err := csimounter .Run (csimounter.Options {
93
91
MountpointPath : mountpointPath ,
94
92
MountOptions : mountoptions.Options {
95
- Fd : int (openDevNull (t ).Fd ()),
93
+ Fd : int (mountertest . OpenDevNull (t ).Fd ()),
96
94
BucketName : "test-bucket" ,
97
95
},
98
96
CmdRunner : runner ,
@@ -103,7 +101,7 @@ func TestRunningMountpoint(t *testing.T) {
103
101
exitCode , err = csimounter .Run (csimounter.Options {
104
102
MountpointPath : mountpointPath ,
105
103
MountOptions : mountoptions.Options {
106
- Fd : int (openDevNull (t ).Fd ()),
104
+ Fd : int (mountertest . OpenDevNull (t ).Fd ()),
107
105
BucketName : "test-bucket" ,
108
106
Args : []string {"--foreground" },
109
107
},
@@ -124,28 +122,3 @@ func TestRunningMountpoint(t *testing.T) {
124
122
assert .Equals (t , cmpopts .AnyError , err )
125
123
})
126
124
}
127
-
128
- func openDevNull (t * testing.T ) * os.File {
129
- file , err := os .Open (os .DevNull )
130
- assert .NoError (t , err )
131
- t .Cleanup (func () {
132
- err = file .Close ()
133
- if err != nil {
134
- log .Printf ("Failed to close file handle: %v\n " , err )
135
- }
136
- })
137
- return file
138
- }
139
-
140
- func assertSameFile (t * testing.T , want * os.File , got * os.File ) {
141
- var wantStat = & syscall.Stat_t {}
142
- err := syscall .Fstat (int (want .Fd ()), wantStat )
143
- assert .NoError (t , err )
144
-
145
- var gotStat = & syscall.Stat_t {}
146
- err = syscall .Fstat (int (got .Fd ()), gotStat )
147
- assert .NoError (t , err )
148
-
149
- assert .Equals (t , wantStat .Dev , gotStat .Dev )
150
- assert .Equals (t , wantStat .Ino , gotStat .Ino )
151
- }
0 commit comments