authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-11-06 14:47:01+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-11-06 14:47:01+01:00
log6490e2ed82ebcf7ffe9732bbd7ef881412363336
tree84331dfd5f3df41bf931335440d6c6f9f0bbd956
parent1b69b0c621568b1b36b6cf946967aaf9e2a596fa

test/link/elf: improve test linking with static lib


1 files changed, 10 insertions(+), 8 deletions(-)

test/link/elf.zig+10-8
......@@ -1858,28 +1858,30 @@ fn testLinkingObj(b: *Build, opts: Options) *Step {
18581858fn testLinkingStaticLib(b: *Build, opts: Options) *Step {
18591859 const test_step = addTestStep(b, "linking-static-lib", opts);
18601860
1861 const obj = addObject(b, "bobj", opts);
1862 addZigSourceBytes(obj, "export var bar: i32 = -42;");
1863
18611864 const lib = addStaticLibrary(b, "alib", opts);
18621865 addZigSourceBytes(lib,
1863 \\extern var mod: usize;
1864 \\export fn callMe() usize {
1865 \\ return me * mod;
1866 \\export fn foo() i32 {
1867 \\ return 42;
18661868 \\}
1867 \\var me: usize = 42;
18681869 );
1870 lib.addObject(obj);
18691871
18701872 const exe = addExecutable(b, "testlib", opts);
18711873 addZigSourceBytes(exe,
18721874 \\const std = @import("std");
1873 \\extern fn callMe() usize;
1874 \\export var mod: usize = 2;
1875 \\extern fn foo() i32;
1876 \\extern var bar: i32;
18751877 \\pub fn main() void {
1876 \\ std.debug.print("{d}\n", .{callMe()});
1878 \\ std.debug.print("{d}\n", .{foo() + bar});
18771879 \\}
18781880 );
18791881 exe.linkLibrary(lib);
18801882
18811883 const run = addRunArtifact(exe);
1882 run.expectStdErrEqual("84\n");
1884 run.expectStdErrEqual("0\n");
18831885 test_step.dependOn(&run.step);
18841886
18851887 return test_step;