Further progress on extraction

This commit is contained in:
Caleb Gardner
2025-07-21 06:40:18 -05:00
parent 8998d28253
commit d5c50b19f2
4 changed files with 109 additions and 27 deletions
+20 -6
View File
@@ -6,8 +6,6 @@ pub const ExtractionOptions = @import("extract_options.zig");
pub const SfsFile = SfsReader(std.fs.File);
const test_archive = "testing/LinuxPATest.sfs";
const test_file = "Start.exe";
const file_extr_loc = "testing/Start.exe";
test "OpenFile" {
const sfs_fil = try std.fs.cwd().openFile(test_archive, .{});
@@ -27,15 +25,31 @@ test "OpenFile" {
}
}
test "ExtractFile" {
std.fs.cwd().deleteFile(file_extr_loc) catch {};
test "ExtractSingleFile" {
const single_file = "Start.exe";
const single_file_extr_loc = "testing/Start.exe";
std.fs.cwd().deleteFile(single_file_extr_loc) catch {};
const sfs_fil = try std.fs.cwd().openFile(test_archive, .{});
defer sfs_fil.close();
var rdr: SfsFile = try .init(std.testing.allocator, sfs_fil, 0);
defer rdr.deinit();
const fil = try rdr.open(test_file);
const fil = try rdr.open(single_file);
defer fil.deinit();
var op: ExtractionOptions = try .init();
op.verbose = true;
try fil.extract(op, file_extr_loc);
try fil.extract(op, single_file_extr_loc);
}
test "ExtractAll" {
const extr_dir = "testing/testExtract";
std.fs.cwd().deleteTree(extr_dir) catch {};
const sfs_fil = try std.fs.cwd().openFile(test_archive, .{});
defer sfs_fil.close();
var rdr: SfsFile = try .init(std.testing.allocator, sfs_fil, 0);
defer rdr.deinit();
var op: ExtractionOptions = try .init();
op.verbose = true;
try rdr.extract(op, extr_dir);
}