From 131d8f5c80f76567f4126e73b46ae5cedc3c6775 Mon Sep 17 00:00:00 2001 From: dave caruso Date: Fri, 21 Jun 2024 18:48:14 -0700 Subject: [PATCH] fix mock function crash (#12023) Co-authored-by: paperdave --- .vscode/settings.json | 1 + CMakeLists.txt | 2 +- test/regression/issue/11664.test.ts | 46 +++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 test/regression/issue/11664.test.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f1ebe7541..b09b9cc106 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -27,6 +27,7 @@ // Zig "zig.initialSetupDone": true, "zig.buildOption": "build", + "zig.zls.zigLibPath": "src/deps/zig/lib", "zig.buildArgs": ["-Dgenerated-code=./build/codegen"], "zig.zls.buildOnSaveStep": "check", // "zig.zls.enableBuildOnSave": true, diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f7c65e31f..2e649974ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_policy(SET CMP0091 NEW) cmake_policy(SET CMP0067 NEW) set(Bun_VERSION "1.1.16") -set(WEBKIT_TAG 64d04ec1a65d91326c5f2298b9c7d05b56125252) +set(WEBKIT_TAG 5bbfe7e880090b9d0b5feaf3563e85957dd7b10d) set(BUN_WORKDIR "${CMAKE_CURRENT_BINARY_DIR}") message(STATUS "Configuring Bun ${Bun_VERSION} in ${BUN_WORKDIR}") diff --git a/test/regression/issue/11664.test.ts b/test/regression/issue/11664.test.ts new file mode 100644 index 0000000000..afc3500937 --- /dev/null +++ b/test/regression/issue/11664.test.ts @@ -0,0 +1,46 @@ +import { test } from "bun:test"; +import { join } from "path"; +import { bunRun, tempDirWithFiles } from "harness"; + +test("does not segfault", () => { + const dir = tempDirWithFiles("segfault", { + "dir/a.ts": ` + import { mock } from "bun:test"; + + try { + await import("./b"); + } catch (e) { + console.log(e); + } + + mock.module("@/dir/c", () => ({ + default: { winner: true }, + })); + + console.log() + `, + "dir/b.ts": ` + import { notExist } from "@/dir/c"; + [notExist]; + `, + "dir/c.ts": ` + import { notExist } from "@/dir/d"; + + export default async function(req) { + [notExist]; + } + `, + "dir/d.ts": ` + export const a = 1; + `, + "tsconfig.json": JSON.stringify({ + compilerOptions: { + baseUrl: ".", + paths: { + "@/*": ["*"], + }, + }, + }), + }); + bunRun(join(dir, "dir/a.ts")); +});