Skip to content

Commit

Permalink
fs tests: Skip UNC path types in Dir.rename tests
Browse files Browse the repository at this point in the history
Follow up to ziglang#17136. The `Dir.rename files` test has now also been seen to fail in CI, so now all rename tests are skipped for the UNC path type. This is a heavy handed approach to hopefully get rid of any flakiness related to rename & UNC paths. See ziglang#17134
  • Loading branch information
squeek502 committed Sep 14, 2023
1 parent 8fb4a4e commit 3c57a8e
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions lib/std/fs/test.zig
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,12 @@ test "deleteDir" {
test "Dir.rename files" {
try testWithAllSupportedPathTypes(struct {
fn impl(ctx: *TestContext) !void {
// Rename on Windows can hit intermittent AccessDenied errors
// when certain conditions are true about the host system.
// For now, skip this test when the path type is UNC to avoid them.
// See https://github.com/ziglang/zig/issues/17134
if (ctx.path_type == .unc) return;

const missing_file_path = try ctx.transformPath("missing_file_name");
const something_else_path = try ctx.transformPath("something_else");

Expand Down Expand Up @@ -711,6 +717,12 @@ test "Dir.rename files" {
test "Dir.rename directories" {
try testWithAllSupportedPathTypes(struct {
fn impl(ctx: *TestContext) !void {
// Rename on Windows can hit intermittent AccessDenied errors
// when certain conditions are true about the host system.
// For now, skip this test when the path type is UNC to avoid them.
// See https://github.com/ziglang/zig/issues/17134
if (ctx.path_type == .unc) return;

const test_dir_path = try ctx.transformPath("test_dir");
const test_dir_renamed_path = try ctx.transformPath("test_dir_renamed");

Expand All @@ -722,12 +734,6 @@ test "Dir.rename directories" {
try testing.expectError(error.FileNotFound, ctx.dir.openDir(test_dir_path, .{}));
var dir = try ctx.dir.openDir(test_dir_renamed_path, .{});

// The next rename in this test can hit intermittent AccessDenied
// errors when certain conditions are true about the host system.
// For now, return early when the path type is UNC to avoid them.
// See https://github.com/ziglang/zig/issues/17134
if (ctx.path_type == .unc) return;

// Put a file in the directory
var file = try dir.createFile("test_file", .{ .read = true });
file.close();
Expand Down

0 comments on commit 3c57a8e

Please sign in to comment.