@@ -128,7 +128,7 @@ func TestWriteFile(t *testing.T) {
128128 })
129129
130130 t .Run ("perm" , func (t * testing.T ) {
131- const perm = fs . FileMode ( 0444 )
131+ const perm = 0444
132132 path := filepath .Join (dir , "perm.txt" )
133133 err = WriteFile (path , "hello" , perm )
134134 if err != nil {
@@ -138,8 +138,8 @@ func TestWriteFile(t *testing.T) {
138138 if err != nil {
139139 t .Fatalf ("file not created: %s" , err )
140140 }
141- if fileInfo .Mode () != perm {
142- t .Errorf ("unexpected file permissions: got %v, want %v " , fileInfo .Mode (), perm )
141+ if fileInfo .Mode (). Perm () != perm {
142+ t .Errorf ("unexpected file permissions: expected %o, got %o " , perm , fileInfo .Mode (). Perm () )
143143 }
144144 })
145145
@@ -159,3 +159,39 @@ func TestWriteFile(t *testing.T) {
159159 }
160160 })
161161}
162+
163+ func TestMkdirTemp (t * testing.T ) {
164+ t .Run ("default permissions" , func (t * testing.T ) {
165+ const perm = 0755
166+ dir , err := MkdirTemp (perm )
167+ if err != nil {
168+ t .Fatalf ("failed to create temp directory: %v" , err )
169+ }
170+ defer os .Remove (dir )
171+
172+ info , err := os .Stat (dir )
173+ if err != nil {
174+ t .Fatalf ("failed to stat temp directory: %v" , err )
175+ }
176+ if info .Mode ().Perm () != perm {
177+ t .Errorf ("unexpected permissions: expected %o, got %o" , perm , info .Mode ().Perm ())
178+ }
179+ })
180+
181+ t .Run ("non-default permissions" , func (t * testing.T ) {
182+ const perm = 0777
183+ dir , err := MkdirTemp (perm )
184+ if err != nil {
185+ t .Fatalf ("failed to create temp directory: %v" , err )
186+ }
187+ defer os .Remove (dir )
188+
189+ info , err := os .Stat (dir )
190+ if err != nil {
191+ t .Fatalf ("failed to stat temp directory: %v" , err )
192+ }
193+ if info .Mode ().Perm () != perm {
194+ t .Errorf ("unexpected permissions: expected %o, got %o" , perm , info .Mode ().Perm ())
195+ }
196+ })
197+ }
0 commit comments