aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-11-06 14:47:01 +0100
committerJakub Konka <kubkon@jakubkonka.com>2023-11-06 14:47:01 +0100
commit6490e2ed82ebcf7ffe9732bbd7ef881412363336 (patch)
tree84331dfd5f3df41bf931335440d6c6f9f0bbd956 /test
parent1b69b0c621568b1b36b6cf946967aaf9e2a596fa (diff)
downloadzig-6490e2ed82ebcf7ffe9732bbd7ef881412363336.tar.gz
zig-6490e2ed82ebcf7ffe9732bbd7ef881412363336.zip
test/link/elf: improve test linking with static lib
Diffstat (limited to 'test')
-rw-r--r--test/link/elf.zig18
1 files changed, 10 insertions, 8 deletions
diff --git a/test/link/elf.zig b/test/link/elf.zig
index c32f3b26d2..a16d012b91 100644
--- a/test/link/elf.zig
+++ b/test/link/elf.zig
@@ -1858,28 +1858,30 @@ fn testLinkingObj(b: *Build, opts: Options) *Step {
fn testLinkingStaticLib(b: *Build, opts: Options) *Step {
const test_step = addTestStep(b, "linking-static-lib", opts);
+ const obj = addObject(b, "bobj", opts);
+ addZigSourceBytes(obj, "export var bar: i32 = -42;");
+
const lib = addStaticLibrary(b, "alib", opts);
addZigSourceBytes(lib,
- \\extern var mod: usize;
- \\export fn callMe() usize {
- \\ return me * mod;
+ \\export fn foo() i32 {
+ \\ return 42;
\\}
- \\var me: usize = 42;
);
+ lib.addObject(obj);
const exe = addExecutable(b, "testlib", opts);
addZigSourceBytes(exe,
\\const std = @import("std");
- \\extern fn callMe() usize;
- \\export var mod: usize = 2;
+ \\extern fn foo() i32;
+ \\extern var bar: i32;
\\pub fn main() void {
- \\ std.debug.print("{d}\n", .{callMe()});
+ \\ std.debug.print("{d}\n", .{foo() + bar});
\\}
);
exe.linkLibrary(lib);
const run = addRunArtifact(exe);
- run.expectStdErrEqual("84\n");
+ run.expectStdErrEqual("0\n");
test_step.dependOn(&run.step);
return test_step;