diff options
-rw-r--r-- | src/cli.zig | 2 | ||||
-rw-r--r-- | test/cli/bun.test.ts | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/cli.zig b/src/cli.zig index 1f88f3f97..7627a35ed 100644 --- a/src/cli.zig +++ b/src/cli.zig @@ -313,7 +313,7 @@ pub const Arguments = struct { defer ctx.debug.loaded_bunfig = true; var config_path: [:0]u8 = undefined; if (config_path_[0] == '/') { - @memcpy(config_buf[0..config_path.len], config_path); + @memcpy(config_buf[0..config_path_.len], config_path_); config_buf[config_path_.len] = 0; config_path = config_buf[0..config_path_.len :0]; } else { diff --git a/test/cli/bun.test.ts b/test/cli/bun.test.ts index f84f10aab..b8dd258b8 100644 --- a/test/cli/bun.test.ts +++ b/test/cli/bun.test.ts @@ -1,6 +1,8 @@ import { describe, test, expect } from "bun:test"; import { spawnSync } from "bun"; import { bunExe } from "harness"; +import { tmpdir } from "node:os"; +import fs from "node:fs"; describe("bun", () => { describe("NO_COLOR", () => { @@ -59,4 +61,22 @@ describe("bun", () => { ); }); }); + + describe("test command line arguments", () => { + test("test --config, issue #4128", () => { + const path = `${tmpdir()}/bunfig-${Date.now()}.toml`; + fs.writeFileSync(path, "[debug]"); + + const p = Bun.spawnSync({ + cmd: [bunExe(), "--config", path], + env: {}, + stderr: "inherit", + }); + try { + expect(p.exitCode).toBe(0); + } finally { + fs.unlinkSync(path); + } + }); + }); }); |