mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 22:35:24 +00:00
tar: use Go test cases path from env variable
Skip tests if env is not set.
This commit is contained in:
parent
6bfa7bf197
commit
2ed9a276a7
@ -701,7 +701,11 @@ const TestCase = struct {
|
||||
};
|
||||
|
||||
test "tar: Go test cases" {
|
||||
const test_dir = try std.fs.openDirAbsolute("/usr/local/go/src/archive/tar/testdata", .{});
|
||||
const test_dir = if (std.os.getenv("GO_TAR_TESTDATA_PATH")) |path|
|
||||
try std.fs.openDirAbsolute(path, .{})
|
||||
else
|
||||
return error.SkipZigTest;
|
||||
|
||||
const cases = [_]TestCase{
|
||||
.{
|
||||
.path = "gnu.tar",
|
||||
@ -781,12 +785,6 @@ test "tar: Go test cases" {
|
||||
.path = "pax-bad-hdr-file.tar",
|
||||
.err = error.InvalidPaxAttribute,
|
||||
},
|
||||
//
|
||||
// .{
|
||||
// .path = "pax-bad-mtime-file.tar",
|
||||
// .err = error.TarBadHeader,
|
||||
// },
|
||||
//
|
||||
.{
|
||||
// size is in pax attribute
|
||||
.path = "pax-pos-size-file.tar",
|
||||
@ -987,8 +985,6 @@ test "tar: Go test cases" {
|
||||
};
|
||||
|
||||
for (cases) |case| {
|
||||
//if (!std.mem.eql(u8, case.path, "pax-pos-size-file.tar")) continue;
|
||||
|
||||
var fs_file = try test_dir.openFile(case.path, .{});
|
||||
defer fs_file.close();
|
||||
|
||||
@ -1001,7 +997,7 @@ test "tar: Go test cases" {
|
||||
} else {
|
||||
return err;
|
||||
}
|
||||
}) |actual| {
|
||||
}) |actual| : (i += 1) {
|
||||
const expected = case.files[i];
|
||||
try std.testing.expectEqualStrings(expected.name, actual.name);
|
||||
try std.testing.expectEqual(expected.size, actual.size);
|
||||
@ -1012,7 +1008,6 @@ test "tar: Go test cases" {
|
||||
var md5writer = Md5Writer{};
|
||||
try actual.write(&md5writer);
|
||||
const chksum = md5writer.chksum();
|
||||
// std.debug.print("actual chksum: {s}\n", .{chksum});
|
||||
try std.testing.expectEqualStrings(case.chksums[i], &chksum);
|
||||
} else {
|
||||
if (!expected.truncated) try actual.skip(); // skip file content
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user