zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit f086ea856cd478eae5ace81c6a653f2b5b976352 (tree)
parent 30a319be6dd14c773094e784c27b89b4f10622b2
Author: Igor Anić <igor.anic@gmail.com>
Date:   Sun, 25 Feb 2024 15:57:20 +0100

std.tar skip test on windows

Or other platform which don't support symlinks.

Diffstat:
Mlib/std/tar.zig | 2+-
Mlib/std/tar/test.zig | 8++++++--
2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/std/tar.zig b/lib/std/tar.zig @@ -564,7 +564,7 @@ pub fn pipeToFileSystem(dir: std.fs.Dir, reader: anytype, options: Options) !voi const link_name = file.link_name; createDirAndSymlink(dir, link_name, file_name) catch |err| { - const d = options.diagnostics orelse return err; + const d = options.diagnostics orelse return error.UnableToCreateSymLink; try d.errors.append(d.allocator, .{ .unable_to_create_sym_link = .{ .code = err, .file_name = try d.allocator.dupe(u8, file_name), diff --git a/lib/std/tar/test.zig b/lib/std/tar/test.zig @@ -467,11 +467,15 @@ test "tar pipeToFileSystem" { var root = std.testing.tmpDir(.{ .no_follow = true }); defer root.cleanup(); - try tar.pipeToFileSystem(root.dir, fsb.reader(), .{ + tar.pipeToFileSystem(root.dir, fsb.reader(), .{ .mode_mode = .ignore, .strip_components = 1, .exclude_empty_directories = true, - }); + }) catch |err| { + // Skip on platform which don't support symlinks + if (err == error.UnableToCreateSymLink) return error.SkipZigTest; + return err; + }; try testing.expectError(error.FileNotFound, root.dir.statFile("empty")); try testing.expect((try root.dir.statFile("a/file")).kind == .file);