commit a6fbdfabb9b60262594da012b8d877a43d8d8e99 (tree)
parent 8c1feef4cd3af223ed8278bd55e8191936b526f0
Author: Jakub Konka <kubkon@jakubkonka.com>
Date: Sat, 25 Jun 2022 00:36:42 +0200
link-tests: add -headerpad_size test scenario
Diffstat:
2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/test/link/macho/headerpad_size/build.zig b/test/link/macho/headerpad_size/build.zig
@@ -0,0 +1,25 @@
+const std = @import("std");
+const Builder = std.build.Builder;
+
+pub fn build(b: *Builder) void {
+ const mode = b.standardReleaseOptions();
+
+ const test_step = b.step("test", "Test");
+ test_step.dependOn(b.getInstallStep());
+
+ const exe = b.addExecutable("main", null);
+ exe.setBuildMode(mode);
+ exe.addCSourceFile("main.c", &.{});
+ exe.linkLibC();
+ exe.headerpad_size = 0x10000;
+
+ const check = exe.checkObject(.macho);
+ check.checkStart("sectname __text");
+ check.checkNext("offset {offset}");
+ check.checkComputeCompare("offset", .{ .op = .gte, .value = .{ .literal = 0x10000 } });
+
+ test_step.dependOn(&check.step);
+
+ const run = exe.run();
+ test_step.dependOn(&run.step);
+}
diff --git a/test/link/macho/headerpad_size/main.c b/test/link/macho/headerpad_size/main.c
@@ -0,0 +1,3 @@
+int main(int argc, char* argv[]) {
+ return 0;
+}