authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2020-09-29 17:47:24-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-09-30 02:35:17-04:00
logbd449b184a0c9fb824184672b12f90ed2698b77a
treef53ce532f01652b0626a627665cefe93ae415d4f
parent254ee89def29f67fdf4dd4c6a433ae876f76d79e

Add deleteDir test with exception for not-empty directory on Windows

Re-adds the test that was added and then reverted in https://github.com/ziglang/zig/pull/6397, but with the test for https://github.com/ziglang/zig/issues/5537 skipped for now since that issue is no longer fixed.

1 files changed, 26 insertions(+), 0 deletions(-)

lib/std/fs/test.zig+26
...@@ -274,6 +274,32 @@ test "file operations on directories" {...@@ -274,6 +274,32 @@ test "file operations on directories" {
274 dir.close();274 dir.close();
275}275}
276276
277test "deleteDir" {
278 var tmp_dir = tmpDir(.{});
279 defer tmp_dir.cleanup();
280
281 // deleting a non-existent directory
282 testing.expectError(error.FileNotFound, tmp_dir.dir.deleteDir("test_dir"));
283
284 var dir = try tmp_dir.dir.makeOpenPath("test_dir", .{});
285 var file = try dir.createFile("test_file", .{});
286 file.close();
287 dir.close();
288
289 // deleting a non-empty directory
290 // TODO: Re-enable this check on Windows, see https://github.com/ziglang/zig/issues/5537
291 if (builtin.os.tag != .windows) {
292 testing.expectError(error.DirNotEmpty, tmp_dir.dir.deleteDir("test_dir"));
293 }
294
295 dir = try tmp_dir.dir.openDir("test_dir", .{});
296 try dir.deleteFile("test_file");
297 dir.close();
298
299 // deleting an empty directory
300 try tmp_dir.dir.deleteDir("test_dir");
301}
302
277test "Dir.rename files" {303test "Dir.rename files" {
278 var tmp_dir = tmpDir(.{});304 var tmp_dir = tmpDir(.{});
279 defer tmp_dir.cleanup();305 defer tmp_dir.cleanup();