authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2021-07-31 22:01:26+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2021-08-01 09:06:56+02:00
log0ce56f93052184e5c0f627f6af1ff4d34bb3110a
treec0050cfe5968a437b17bfbf9b9718e16b7d04cdf
parent58bc713c171e74b3c4f8283636561e6521edbeef

macho: fix Trie and CodeSignature unit tests

after the cleanup.

2 files changed, 27 insertions(+), 27 deletions(-)

src/link/MachO/CodeSignature.zig+2-2
...@@ -163,8 +163,8 @@ fn writeBlobIndex(tt: u32, offset: u32, writer: anytype) !void {...@@ -163,8 +163,8 @@ fn writeBlobIndex(tt: u32, offset: u32, writer: anytype) !void {
163}163}
164164
165test "CodeSignature header" {165test "CodeSignature header" {
166 var code_sig = CodeSignature.init(testing.allocator, 0x1000);166 var code_sig: CodeSignature = .{};
167 defer code_sig.deinit();167 defer code_sig.deinit(testing.allocator);
168168
169 var buffer: [@sizeOf(macho.SuperBlob)]u8 = undefined;169 var buffer: [@sizeOf(macho.SuperBlob)]u8 = undefined;
170 var stream = std.io.fixedBufferStream(&buffer);170 var stream = std.io.fixedBufferStream(&buffer);
src/link/MachO/Trie.zig+25-25
...@@ -361,9 +361,9 @@ const ReadError = error{...@@ -361,9 +361,9 @@ const ReadError = error{
361};361};
362362
363/// Parse the trie from a byte stream.363/// Parse the trie from a byte stream.
364pub fn read(self: *Trie, reader: anytype) ReadError!usize {364pub fn read(self: *Trie, allocator: *Allocator, reader: anytype) ReadError!usize {
365 try self.createRoot();365 try self.createRoot(allocator);
366 return self.root.?.read(self.allocator, reader);366 return self.root.?.read(allocator, reader);
367}367}
368368
369/// Write the trie to a byte stream.369/// Write the trie to a byte stream.
...@@ -396,13 +396,13 @@ fn createRoot(self: *Trie, allocator: *Allocator) !void {...@@ -396,13 +396,13 @@ fn createRoot(self: *Trie, allocator: *Allocator) !void {
396396
397test "Trie node count" {397test "Trie node count" {
398 var gpa = testing.allocator;398 var gpa = testing.allocator;
399 var trie = Trie.init(gpa);399 var trie: Trie = .{};
400 defer trie.deinit();400 defer trie.deinit(gpa);
401401
402 try testing.expectEqual(trie.node_count, 0);402 try testing.expectEqual(trie.node_count, 0);
403 try testing.expect(trie.root == null);403 try testing.expect(trie.root == null);
404404
405 try trie.put(.{405 try trie.put(gpa, .{
406 .name = "_main",406 .name = "_main",
407 .vmaddr_offset = 0,407 .vmaddr_offset = 0,
408 .export_flags = 0,408 .export_flags = 0,
...@@ -410,14 +410,14 @@ test "Trie node count" {...@@ -410,14 +410,14 @@ test "Trie node count" {
410 try testing.expectEqual(trie.node_count, 2);410 try testing.expectEqual(trie.node_count, 2);
411411
412 // Inserting the same node shouldn't update the trie.412 // Inserting the same node shouldn't update the trie.
413 try trie.put(.{413 try trie.put(gpa, .{
414 .name = "_main",414 .name = "_main",
415 .vmaddr_offset = 0,415 .vmaddr_offset = 0,
416 .export_flags = 0,416 .export_flags = 0,
417 });417 });
418 try testing.expectEqual(trie.node_count, 2);418 try testing.expectEqual(trie.node_count, 2);
419419
420 try trie.put(.{420 try trie.put(gpa, .{
421 .name = "__mh_execute_header",421 .name = "__mh_execute_header",
422 .vmaddr_offset = 0x1000,422 .vmaddr_offset = 0x1000,
423 .export_flags = 0,423 .export_flags = 0,
...@@ -425,13 +425,13 @@ test "Trie node count" {...@@ -425,13 +425,13 @@ test "Trie node count" {
425 try testing.expectEqual(trie.node_count, 4);425 try testing.expectEqual(trie.node_count, 4);
426426
427 // Inserting the same node shouldn't update the trie.427 // Inserting the same node shouldn't update the trie.
428 try trie.put(.{428 try trie.put(gpa, .{
429 .name = "__mh_execute_header",429 .name = "__mh_execute_header",
430 .vmaddr_offset = 0x1000,430 .vmaddr_offset = 0x1000,
431 .export_flags = 0,431 .export_flags = 0,
432 });432 });
433 try testing.expectEqual(trie.node_count, 4);433 try testing.expectEqual(trie.node_count, 4);
434 try trie.put(.{434 try trie.put(gpa, .{
435 .name = "_main",435 .name = "_main",
436 .vmaddr_offset = 0,436 .vmaddr_offset = 0,
437 .export_flags = 0,437 .export_flags = 0,
...@@ -441,11 +441,11 @@ test "Trie node count" {...@@ -441,11 +441,11 @@ test "Trie node count" {
441441
442test "Trie basic" {442test "Trie basic" {
443 var gpa = testing.allocator;443 var gpa = testing.allocator;
444 var trie = Trie.init(gpa);444 var trie: Trie = .{};
445 defer trie.deinit();445 defer trie.deinit(gpa);
446446
447 // root --- _st ---> node447 // root --- _st ---> node
448 try trie.put(.{448 try trie.put(gpa, .{
449 .name = "_st",449 .name = "_st",
450 .vmaddr_offset = 0,450 .vmaddr_offset = 0,
451 .export_flags = 0,451 .export_flags = 0,
...@@ -455,7 +455,7 @@ test "Trie basic" {...@@ -455,7 +455,7 @@ test "Trie basic" {
455455
456 {456 {
457 // root --- _st ---> node --- art ---> node457 // root --- _st ---> node --- art ---> node
458 try trie.put(.{458 try trie.put(gpa, .{
459 .name = "_start",459 .name = "_start",
460 .vmaddr_offset = 0,460 .vmaddr_offset = 0,
461 .export_flags = 0,461 .export_flags = 0,
...@@ -471,7 +471,7 @@ test "Trie basic" {...@@ -471,7 +471,7 @@ test "Trie basic" {
471 // root --- _ ---> node --- st ---> node --- art ---> node471 // root --- _ ---> node --- st ---> node --- art ---> node
472 // |472 // |
473 // | --- main ---> node473 // | --- main ---> node
474 try trie.put(.{474 try trie.put(gpa, .{
475 .name = "_main",475 .name = "_main",
476 .vmaddr_offset = 0,476 .vmaddr_offset = 0,
477 .export_flags = 0,477 .export_flags = 0,
...@@ -491,22 +491,22 @@ test "Trie basic" {...@@ -491,22 +491,22 @@ test "Trie basic" {
491491
492test "write Trie to a byte stream" {492test "write Trie to a byte stream" {
493 var gpa = testing.allocator;493 var gpa = testing.allocator;
494 var trie = Trie.init(gpa);494 var trie: Trie = .{};
495 defer trie.deinit();495 defer trie.deinit(gpa);
496496
497 try trie.put(.{497 try trie.put(gpa, .{
498 .name = "__mh_execute_header",498 .name = "__mh_execute_header",
499 .vmaddr_offset = 0,499 .vmaddr_offset = 0,
500 .export_flags = 0,500 .export_flags = 0,
501 });501 });
502 try trie.put(.{502 try trie.put(gpa, .{
503 .name = "_main",503 .name = "_main",
504 .vmaddr_offset = 0x1000,504 .vmaddr_offset = 0x1000,
505 .export_flags = 0,505 .export_flags = 0,
506 });506 });
507507
508 try trie.finalize();508 try trie.finalize(gpa);
509 try trie.finalize(); // Finalizing mulitple times is a nop subsequently unless we add new nodes.509 try trie.finalize(gpa); // Finalizing mulitple times is a nop subsequently unless we add new nodes.
510510
511 const exp_buffer = [_]u8{511 const exp_buffer = [_]u8{
512 0x0, 0x1, // node root512 0x0, 0x1, // node root
...@@ -551,13 +551,13 @@ test "parse Trie from byte stream" {...@@ -551,13 +551,13 @@ test "parse Trie from byte stream" {
551 };551 };
552552
553 var in_stream = std.io.fixedBufferStream(&in_buffer);553 var in_stream = std.io.fixedBufferStream(&in_buffer);
554 var trie = Trie.init(gpa);554 var trie: Trie = .{};
555 defer trie.deinit();555 defer trie.deinit(gpa);
556 const nread = try trie.read(in_stream.reader());556 const nread = try trie.read(gpa, in_stream.reader());
557557
558 try testing.expect(nread == in_buffer.len);558 try testing.expect(nread == in_buffer.len);
559559
560 try trie.finalize();560 try trie.finalize(gpa);
561561
562 var out_buffer = try gpa.alloc(u8, trie.size);562 var out_buffer = try gpa.alloc(u8, trie.size);
563 defer gpa.free(out_buffer);563 defer gpa.free(out_buffer);