@@ -31,39 +31,25 @@ func stringsFromByteSlice(buf []byte) []string {
31
31
return result
32
32
}
33
33
34
- func createTestFile (t * testing.T , dir string ) (f * os.File , cleanup func () error ) {
35
- file , err := ioutil .TempFile (dir , t .Name ())
34
+ func createTestFile (t * testing.T ) string {
35
+ filename := filepath .Join (t .TempDir (), t .Name ())
36
+ err := os .WriteFile (filename , testData , 0600 )
36
37
if err != nil {
37
38
t .Fatal (err )
38
39
}
39
-
40
- _ , err = file .Write (testData )
41
- if err != nil {
42
- t .Fatal (err )
43
- }
44
-
45
- err = file .Close ()
46
- if err != nil {
47
- t .Fatal (err )
48
- }
49
-
50
- return file , func () error {
51
- return os .Remove (file .Name ())
52
- }
40
+ return filename
53
41
}
54
42
55
43
func TestClonefile (t * testing.T ) {
56
- file , cleanup := createTestFile (t , "" )
57
- defer cleanup ()
44
+ fileName := createTestFile (t )
58
45
59
- clonedName := file . Name () + "-cloned"
60
- err := unix .Clonefile (file . Name () , clonedName , 0 )
46
+ clonedName := fileName + "-cloned"
47
+ err := unix .Clonefile (fileName , clonedName , 0 )
61
48
if err == unix .ENOSYS || err == unix .ENOTSUP {
62
49
t .Skip ("clonefile is not available or supported, skipping test" )
63
50
} else if err != nil {
64
51
t .Fatal (err )
65
52
}
66
- defer os .Remove (clonedName )
67
53
68
54
clonedData , err := ioutil .ReadFile (clonedName )
69
55
if err != nil {
@@ -76,17 +62,15 @@ func TestClonefile(t *testing.T) {
76
62
}
77
63
78
64
func TestClonefileatWithCwd (t * testing.T ) {
79
- file , cleanup := createTestFile (t , "" )
80
- defer cleanup ()
65
+ fileName := createTestFile (t )
81
66
82
- clonedName := file . Name () + "-cloned"
83
- err := unix .Clonefileat (unix .AT_FDCWD , file . Name () , unix .AT_FDCWD , clonedName , 0 )
67
+ clonedName := fileName + "-cloned"
68
+ err := unix .Clonefileat (unix .AT_FDCWD , fileName , unix .AT_FDCWD , clonedName , 0 )
84
69
if err == unix .ENOSYS || err == unix .ENOTSUP {
85
70
t .Skip ("clonefileat is not available or supported, skipping test" )
86
71
} else if err != nil {
87
72
t .Fatal (err )
88
73
}
89
- defer os .Remove (clonedName )
90
74
91
75
clonedData , err := ioutil .ReadFile (clonedName )
92
76
if err != nil {
@@ -99,25 +83,22 @@ func TestClonefileatWithCwd(t *testing.T) {
99
83
}
100
84
101
85
func TestClonefileatWithRelativePaths (t * testing.T ) {
102
- srcDir := t .TempDir ()
103
- dstDir := t .TempDir ()
104
-
86
+ srcFileName := createTestFile (t )
87
+ srcDir := filepath .Dir (srcFileName )
105
88
srcFd , err := unix .Open (srcDir , unix .O_RDONLY | unix .O_DIRECTORY , 0 )
106
89
if err != nil {
107
90
t .Fatal (err )
108
91
}
109
92
defer unix .Close (srcFd )
110
93
94
+ dstDir := t .TempDir ()
111
95
dstFd , err := unix .Open (dstDir , unix .O_RDONLY | unix .O_DIRECTORY , 0 )
112
96
if err != nil {
113
97
t .Fatal (err )
114
98
}
115
99
defer unix .Close (dstFd )
116
100
117
- srcFile , cleanup := createTestFile (t , srcDir )
118
- defer cleanup ()
119
-
120
- dstFile , err := ioutil .TempFile (dstDir , "TestClonefileat" )
101
+ dstFile , err := os .Create (filepath .Join (dstDir , "TestClonefileat" ))
121
102
if err != nil {
122
103
t .Fatal (err )
123
104
}
@@ -126,7 +107,7 @@ func TestClonefileatWithRelativePaths(t *testing.T) {
126
107
t .Fatal (err )
127
108
}
128
109
129
- src := filepath .Base (srcFile . Name () )
110
+ src := filepath .Base (srcFileName )
130
111
dst := filepath .Base (dstFile .Name ())
131
112
err = unix .Clonefileat (srcFd , src , dstFd , dst , 0 )
132
113
if err == unix .ENOSYS || err == unix .ENOTSUP {
@@ -146,16 +127,16 @@ func TestClonefileatWithRelativePaths(t *testing.T) {
146
127
}
147
128
148
129
func TestFclonefileat (t * testing.T ) {
149
- file , cleanup := createTestFile (t , "" )
150
- defer cleanup ( )
130
+ fileName := createTestFile (t )
131
+ dir := filepath . Dir ( fileName )
151
132
152
- fd , err := unix .Open (file . Name () , unix .O_RDONLY , 0 )
133
+ fd , err := unix .Open (fileName , unix .O_RDONLY , 0 )
153
134
if err != nil {
154
135
t .Fatal (err )
155
136
}
156
137
defer unix .Close (fd )
157
138
158
- dstFile , err := ioutil . TempFile ( "" , "TestFclonefileat" )
139
+ dstFile , err := os . Create ( filepath . Join ( dir , "dst" ) )
159
140
if err != nil {
160
141
t .Fatal (err )
161
142
}
@@ -179,11 +160,10 @@ func TestFclonefileat(t *testing.T) {
179
160
}
180
161
181
162
func TestFcntlFstore (t * testing.T ) {
182
- f , err := ioutil . TempFile ( "" , t .Name ())
163
+ f , err := os . CreateTemp ( t . TempDir () , t .Name ())
183
164
if err != nil {
184
165
t .Fatal (err )
185
166
}
186
- defer os .Remove (f .Name ())
187
167
defer f .Close ()
188
168
189
169
fstore := & unix.Fstore_t {
0 commit comments