aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-07-29 16:29:56 -0700
committerAndrew Kelley <andrew@ziglang.org>2025-07-31 22:10:11 -0700
commit3fff84a4a4fb8f9926436313d4e44773b8afc4eb (patch)
tree6b5d597c004fca46885b203e9441e31818ec45c2 /src
parent6bcced31a04afeeead065af961f2571a95e4ad21 (diff)
downloadzig-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.zig66
-rw-r--r--src/Package/Fetch/git.zig14
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();