Finished (?) file extraction

This commit is contained in:
Caleb Gardner
2025-07-18 05:41:27 -05:00
parent b4af1233e5
commit de988f083f
6 changed files with 323 additions and 110 deletions
+16 -15
View File
@@ -5,12 +5,14 @@ pub const ExtractionOptions = @import("extract_options.zig");
pub const SfsFile = SfsReader(std.fs.File);
const test_file = "testing/LinuxPATest.sfs";
const test_archive = "testing/LinuxPATest.sfs";
const test_file = "Start.exe";
const file_extr_loc = "testing/Start.exe";
test "OpenFile" {
const fil = try std.fs.cwd().openFile(test_file, .{});
defer fil.close();
var rdr: SfsFile = try .init(std.testing.allocator, fil, 0);
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();
std.debug.print("{}\n", .{rdr.super});
const root = try rdr.root();
@@ -20,18 +22,17 @@ test "OpenFile" {
defer f.deinit();
std.debug.print("{s}\n", .{f.name});
}
var start = try root.open("Start.exe");
defer start.deinit();
const startReader = try start.reader();
_ = startReader;
}
test "ReadFile" {
const fil = try std.fs.cwd().openFile(test_file, .{});
defer fil.close();
var rdr: SfsFile = try .init(std.testing.allocator, fil, 0);
test "ExtractFile" {
std.fs.cwd().deleteFile(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();
std.debug.print("{}\n", .{rdr.super});
const root = try rdr.root();
defer root.deinit();
const fil = try rdr.open(test_file);
defer fil.deinit();
var op: ExtractionOptions = try .init();
op.verbose = true;
try fil.extract(&op, file_extr_loc);
}