mirror of
https://github.com/ziglang/zig.git
synced 2024-12-14 23:30:15 +00:00
parent
663e665843
commit
0bdc85181c
@ -10238,8 +10238,13 @@ void codegen_build_and_link(CodeGen *g) {
|
||||
Error err;
|
||||
assert(g->out_type != OutTypeUnknown);
|
||||
|
||||
if (!g->enable_cache && g->output_dir == nullptr) {
|
||||
g->output_dir = buf_create_from_str(".");
|
||||
if (!g->enable_cache) {
|
||||
if (g->output_dir == nullptr) {
|
||||
g->output_dir = buf_create_from_str(".");
|
||||
} else if ((err = os_make_path(g->output_dir))) {
|
||||
fprintf(stderr, "Unable to create output directory: %s\n", err_str(err));
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
g->have_dynamic_link = detect_dynamic_link(g);
|
||||
|
10
test/cli.zig
10
test/cli.zig
@ -34,6 +34,7 @@ pub fn main() !void {
|
||||
testZigInitLib,
|
||||
testZigInitExe,
|
||||
testGodboltApi,
|
||||
testMissingOutputPath,
|
||||
};
|
||||
for (test_fns) |testFn| {
|
||||
try fs.deleteTree(a, dir_path);
|
||||
@ -129,3 +130,12 @@ fn testGodboltApi(zig_exe: []const u8, dir_path: []const u8) anyerror!void {
|
||||
testing.expect(std.mem.indexOf(u8, out_asm, "mov\teax, edi") != null);
|
||||
testing.expect(std.mem.indexOf(u8, out_asm, "imul\teax, edi") != null);
|
||||
}
|
||||
|
||||
fn testMissingOutputPath(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
_ = try exec(dir_path, [_][]const u8{ zig_exe, "init-exe" });
|
||||
const output_path = try fs.path.join(a, [_][]const u8{ "does", "not", "exist" });
|
||||
const source_path = try fs.path.join(a, [_][]const u8{ "src", "main.zig" });
|
||||
_ = try exec(dir_path, [_][]const u8{
|
||||
zig_exe, "build-exe", source_path, "--output-dir", output_path
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user