diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-07-29 16:29:56 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-07-31 22:10:11 -0700 |
| commit | 3fff84a4a4fb8f9926436313d4e44773b8afc4eb (patch) | |
| tree | 6b5d597c004fca46885b203e9441e31818ec45c2 /src | |
| parent | 6bcced31a04afeeead065af961f2571a95e4ad21 (diff) | |
| download | zig-3fff84a4a4fb8f9926436313d4e44773b8afc4eb.tar.gz zig-3fff84a4a4fb8f9926436313d4e44773b8afc4eb.zip | |
compiler: fix unit test compile errors
sorry, zip file creation has regressed because std lib no longer has a
deflate compression implementation
Diffstat (limited to 'src')
| -rw-r--r-- | src/Package/Fetch.zig | 66 | ||||
| -rw-r--r-- | src/Package/Fetch/git.zig | 14 |
2 files changed, 10 insertions, 70 deletions
diff --git a/src/Package/Fetch.zig b/src/Package/Fetch.zig index 47dfdce7ac..2fffd33f86 100644 --- a/src/Package/Fetch.zig +++ b/src/Package/Fetch.zig @@ -2076,72 +2076,6 @@ const UnpackResult = struct { } }; -test "zip" { - const gpa = std.testing.allocator; - var tmp = std.testing.tmpDir(.{}); - defer tmp.cleanup(); - - const test_files = [_]std.zip.testutil.File{ - .{ .name = "foo", .content = "this is just foo\n", .compression = .store }, - .{ .name = "bar", .content = "another file\n", .compression = .deflate }, - }; - { - var zip_file = try tmp.dir.createFile("test.zip", .{}); - defer zip_file.close(); - var bw = std.io.bufferedWriter(zip_file.deprecatedWriter()); - var store: [test_files.len]std.zip.testutil.FileStore = undefined; - try std.zip.testutil.writeZip(bw.writer(), &test_files, &store, .{}); - try bw.flush(); - } - - const zip_path = try std.fmt.allocPrint(gpa, ".zig-cache/tmp/{s}/test.zip", .{tmp.sub_path}); - defer gpa.free(zip_path); - - var fb: TestFetchBuilder = undefined; - var fetch = try fb.build(gpa, tmp.dir, zip_path); - defer fb.deinit(); - - try fetch.run(); - - var out = try fb.packageDir(); - defer out.close(); - - try std.zip.testutil.expectFiles(&test_files, out, .{}); -} - -test "zip with one root folder" { - const gpa = std.testing.allocator; - var tmp = std.testing.tmpDir(.{}); - defer tmp.cleanup(); - - const test_files = [_]std.zip.testutil.File{ - .{ .name = "the_root_folder/foo.zig", .content = "// this is foo.zig\n", .compression = .store }, - .{ .name = "the_root_folder/README.md", .content = "# The foo.zig README\n", .compression = .store }, - }; - { - var zip_file = try tmp.dir.createFile("test.zip", .{}); - defer zip_file.close(); - var bw = std.io.bufferedWriter(zip_file.deprecatedWriter()); - var store: [test_files.len]std.zip.testutil.FileStore = undefined; - try std.zip.testutil.writeZip(bw.writer(), &test_files, &store, .{}); - try bw.flush(); - } - - const zip_path = try std.fmt.allocPrint(gpa, ".zig-cache/tmp/{s}/test.zip", .{tmp.sub_path}); - defer gpa.free(zip_path); - - var fb: TestFetchBuilder = undefined; - var fetch = try fb.build(gpa, tmp.dir, zip_path); - defer fb.deinit(); - - try fetch.run(); - - var out = try fb.packageDir(); - defer out.close(); - - try std.zip.testutil.expectFiles(&test_files, out, .{ .strip_prefix = "the_root_folder/" }); -} - test "tarball with duplicate paths" { // This tarball has duplicate path 'dir1/file1' to simulate case sensitve // file system on any file sytstem. diff --git a/src/Package/Fetch/git.zig b/src/Package/Fetch/git.zig index a1e2e6419a..f2d59f95e8 100644 --- a/src/Package/Fetch/git.zig +++ b/src/Package/Fetch/git.zig @@ -1564,9 +1564,12 @@ fn runRepositoryTest(comptime format: Oid.Format, head_commit: []const u8) !void defer pack_file.close(); try pack_file.writeAll(testrepo_pack); + var pack_file_buffer: [4096]u8 = undefined; + var pack_file_reader = pack_file.reader(&pack_file_buffer); + var index_file = try git_dir.dir.createFile("testrepo.idx", .{ .read = true }); defer index_file.close(); - try indexPack(testing.allocator, format, pack_file, index_file.deprecatedWriter()); + try indexPack(testing.allocator, format, &pack_file_reader, index_file.deprecatedWriter()); // Arbitrary size limit on files read while checking the repository contents // (all files in the test repo are known to be smaller than this) @@ -1580,7 +1583,7 @@ fn runRepositoryTest(comptime format: Oid.Format, head_commit: []const u8) !void const testrepo_idx = @embedFile("git/testdata/testrepo-" ++ @tagName(format) ++ ".idx"); try testing.expectEqualSlices(u8, testrepo_idx, index_file_data); - var repository = try Repository.init(testing.allocator, format, pack_file, index_file); + var repository = try Repository.init(testing.allocator, format, &pack_file_reader, index_file); defer repository.deinit(); var worktree = testing.tmpDir(.{ .iterate = true }); @@ -1673,6 +1676,9 @@ pub fn main() !void { var pack_file = try std.fs.cwd().openFile(args[2], .{}); defer pack_file.close(); + var pack_file_buffer: [4096]u8 = undefined; + var pack_file_reader = pack_file.reader(&pack_file_buffer); + const commit = try Oid.parse(format, args[3]); var worktree = try std.fs.cwd().makeOpenPath(args[4], .{}); defer worktree.close(); @@ -1684,11 +1690,11 @@ pub fn main() !void { var index_file = try git_dir.createFile("idx", .{ .read = true }); defer index_file.close(); var index_buffered_writer = std.io.bufferedWriter(index_file.deprecatedWriter()); - try indexPack(allocator, format, pack_file, index_buffered_writer.writer()); + try indexPack(allocator, format, &pack_file_reader, index_buffered_writer.writer()); try index_buffered_writer.flush(); std.debug.print("Starting checkout...\n", .{}); - var repository = try Repository.init(allocator, format, pack_file, index_file); + var repository = try Repository.init(allocator, format, &pack_file_reader, index_file); defer repository.deinit(); var diagnostics: Diagnostics = .{ .allocator = allocator }; defer diagnostics.deinit(); |
