From e3f96c2e722797267a4e55e87b8bc089a797db5b Mon Sep 17 00:00:00 2001 From: Dave Caruso Date: Thu, 1 Aug 2024 22:46:32 -0700 Subject: [PATCH] speculative fixes, it works on my machine now --- src/bun.js/bindings/BunProcess.cpp | 2 + test/integration/next-pages/bun.lockb | Bin 179869 -> 179825 bytes test/integration/next-pages/package.json | 3 +- .../dev-server-ssr-100.test.ts.snap | 6 +- .../__snapshots__/dev-server.test.ts.snap | 6 +- .../__snapshots__/next-build.test.ts.snap | 12 ++-- .../next-pages/test/dev-server-puppeteer.ts | 58 ++++++++++++------ .../next-pages/test/dev-server.test.ts | 4 +- 8 files changed, 54 insertions(+), 37 deletions(-) diff --git a/src/bun.js/bindings/BunProcess.cpp b/src/bun.js/bindings/BunProcess.cpp index e03743ba17..54fbdb0ca5 100644 --- a/src/bun.js/bindings/BunProcess.cpp +++ b/src/bun.js/bindings/BunProcess.cpp @@ -2742,6 +2742,8 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionReallyKill, result = errno; #else int result = uv_kill(pid, signal); + if (result == UV_ESRCH) + result = 0; #endif RELEASE_AND_RETURN(scope, JSValue::encode(jsNumber(result))); diff --git a/test/integration/next-pages/bun.lockb b/test/integration/next-pages/bun.lockb index 683a48a517bf8064975e02c64548e0329a3049cf..a51a84465fe8a55af1f662503601ee8b41851452 100755 GIT binary patch delta 17104 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

KA@ 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 delta 17148 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 YaYR9}ryPG$A6qoRv*UDv{LG^N0|C*N00000 diff --git a/test/integration/next-pages/package.json b/test/integration/next-pages/package.json index bb25ca4b5e..7cb2586f32 100644 --- a/test/integration/next-pages/package.json +++ b/test/integration/next-pages/package.json @@ -6,8 +6,7 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint", - "postinstall": "cd node_modules/puppeteer && bun install.mjs" + "lint": "next lint" }, "dependencies": { "@types/node": "20.7.0", diff --git a/test/integration/next-pages/test/__snapshots__/dev-server-ssr-100.test.ts.snap b/test/integration/next-pages/test/__snapshots__/dev-server-ssr-100.test.ts.snap index da10c802c8..2cb240df0d 100644 --- a/test/integration/next-pages/test/__snapshots__/dev-server-ssr-100.test.ts.snap +++ b/test/integration/next-pages/test/__snapshots__/dev-server-ssr-100.test.ts.snap @@ -11482,7 +11482,7 @@ exports[`ssr works for 100-ish requests 1`] = ` }, ], "format": "v2", - "meta_hash": "632a4f7405ad36643df0c844e942395e7c61cf79c7738eb128eba03ebdd1e094", + "meta_hash": "86c6be13420c912f4219afc0429239f52f2322f47b4dd65ec971d04a8064d4ea", "package_index": { "@alloc/quick-lru": 13, "@babel/code-frame": 202, @@ -12016,9 +12016,7 @@ exports[`ssr works for 100-ish requests 1`] = ` "tag": "root", "value": "", }, - "scripts": { - "postinstall": "cd node_modules/puppeteer && bun install.mjs", - }, + "scripts": {}, }, { "bin": { diff --git a/test/integration/next-pages/test/__snapshots__/dev-server.test.ts.snap b/test/integration/next-pages/test/__snapshots__/dev-server.test.ts.snap index 7b40a27d78..4400b456de 100644 --- a/test/integration/next-pages/test/__snapshots__/dev-server.test.ts.snap +++ b/test/integration/next-pages/test/__snapshots__/dev-server.test.ts.snap @@ -11482,7 +11482,7 @@ exports[`hot reloading works on the client (+ tailwind hmr) 1`] = ` }, ], "format": "v2", - "meta_hash": "632a4f7405ad36643df0c844e942395e7c61cf79c7738eb128eba03ebdd1e094", + "meta_hash": "86c6be13420c912f4219afc0429239f52f2322f47b4dd65ec971d04a8064d4ea", "package_index": { "@alloc/quick-lru": 13, "@babel/code-frame": 202, @@ -12016,9 +12016,7 @@ exports[`hot reloading works on the client (+ tailwind hmr) 1`] = ` "tag": "root", "value": "", }, - "scripts": { - "postinstall": "cd node_modules/puppeteer && bun install.mjs", - }, + "scripts": {}, }, { "bin": { diff --git a/test/integration/next-pages/test/__snapshots__/next-build.test.ts.snap b/test/integration/next-pages/test/__snapshots__/next-build.test.ts.snap index c23871f444..44bcf08053 100644 --- a/test/integration/next-pages/test/__snapshots__/next-build.test.ts.snap +++ b/test/integration/next-pages/test/__snapshots__/next-build.test.ts.snap @@ -11482,7 +11482,7 @@ exports[`next build works: bun 1`] = ` }, ], "format": "v2", - "meta_hash": "632a4f7405ad36643df0c844e942395e7c61cf79c7738eb128eba03ebdd1e094", + "meta_hash": "86c6be13420c912f4219afc0429239f52f2322f47b4dd65ec971d04a8064d4ea", "package_index": { "@alloc/quick-lru": 13, "@babel/code-frame": 202, @@ -12016,9 +12016,7 @@ exports[`next build works: bun 1`] = ` "tag": "root", "value": "", }, - "scripts": { - "postinstall": "cd node_modules/puppeteer && bun install.mjs", - }, + "scripts": {}, }, { "bin": { @@ -34086,7 +34084,7 @@ exports[`next build works: node 1`] = ` }, ], "format": "v2", - "meta_hash": "632a4f7405ad36643df0c844e942395e7c61cf79c7738eb128eba03ebdd1e094", + "meta_hash": "86c6be13420c912f4219afc0429239f52f2322f47b4dd65ec971d04a8064d4ea", "package_index": { "@alloc/quick-lru": 13, "@babel/code-frame": 202, @@ -34620,9 +34618,7 @@ exports[`next build works: node 1`] = ` "tag": "root", "value": "", }, - "scripts": { - "postinstall": "cd node_modules/puppeteer && bun install.mjs", - }, + "scripts": {}, }, { "bin": { diff --git a/test/integration/next-pages/test/dev-server-puppeteer.ts b/test/integration/next-pages/test/dev-server-puppeteer.ts index dbba82224a..371f1e38a8 100644 --- a/test/integration/next-pages/test/dev-server-puppeteer.ts +++ b/test/integration/next-pages/test/dev-server-puppeteer.ts @@ -1,6 +1,6 @@ import { ConsoleMessage, Page, launch } from "puppeteer"; import assert from "assert"; -import { copyFileSync } from "fs"; +import { copyFileSync, readFileSync, writeFileSync } from "fs"; import { join } from "path"; const root = join(import.meta.dir, "../"); @@ -12,6 +12,8 @@ if (process.argv.length > 2) { url = process.argv[2]; } +const isWindows = process.platform === "win32"; + const b = await launch({ // While puppeteer is migrating to their new headless: `true` mode, // this causes strange issues on macOS in the cloud (AWS and MacStadium). @@ -22,19 +24,24 @@ const b = await launch({ // Fixes: 'TargetCloseError: Protocol error (Target.setAutoAttach): Target closed' headless: "shell", dumpio: true, - pipe: true, - args: [ - // Fixes: 'dock_plist is not an NSDictionary' - "--no-sandbox", - "--single-process", - "--disable-setuid-sandbox", - "--disable-dev-shm-usage", - // Fixes: 'Navigating frame was detached' - "--disable-features=site-per-process", - // Uncomment if you want debug logs from Chromium: - // "--enable-logging=stderr", - // "--v=1", - ], + pipe: !isWindows, + args: isWindows + ? [ + // On windows, it seems passing these flags actually breaks stuff. + "--no-sandbox", + ] + : [ + // Fixes: 'dock_plist is not an NSDictionary' + "--no-sandbox", + "--single-process", + "--disable-setuid-sandbox", + "--disable-dev-shm-usage", + // Fixes: 'Navigating frame was detached' + "--disable-features=site-per-process", + // Uncomment if you want debug logs from Chromium: + // "--enable-logging=stderr", + // "--v=1", + ], }); async function main() { @@ -54,7 +61,7 @@ async function main() { return promise; } - const console_promise = waitForConsoleMessage(p, /counter a/); + let console_promise = waitForConsoleMessage(p, /counter a/); p.goto(url); await console_promise; @@ -67,6 +74,7 @@ async function main() { const [has_class, style_json_string] = await counter_root.evaluate( x => [(x as HTMLElement).classList.contains("rounded-bl-full"), JSON.stringify(getComputedStyle(x))] as const, ); + console.error("looking at style"); assert.strictEqual(has_class, true); const decoded_style = JSON.parse(style_json_string); assert.strictEqual(decoded_style.borderTopLeftRadius, "0px"); @@ -75,7 +83,11 @@ async function main() { assert.strictEqual(decoded_style.borderBottomLeftRadius, "9999px"); } - const getCount = () => counter_root.$eval("p", x => x.innerText); + const getCount = async () => { + const count = await counter_root.$eval("p", x => x.innerText); + console.error("Counter is at " + count); + return count; + }; assert.strictEqual(await getCount(), "Count A: 0"); await counter_root.$eval(".inc", x => (x as HTMLElement).click()); @@ -85,8 +97,13 @@ async function main() { await counter_root.$eval(".dec", x => (x as HTMLElement).click()); assert.strictEqual(await getCount(), "Count A: 1"); + console.error("Waiting for A again"); + + console_promise = waitForConsoleMessage(p, /counter a/); p.reload({}); - await waitForConsoleMessage(p, /counter a/); + await console_promise; + + console.error("Continue"); assert.strictEqual(await p.$eval("code.font-bold", x => x.innerText), Bun.version); @@ -100,7 +117,9 @@ async function main() { await counter_root.$eval(".dec", x => (x as HTMLElement).click()); assert.strictEqual(await getCount(), "Count A: 1"); - copyFileSync(join(root, "src/Counter2.txt"), join(root, "src/Counter.tsx")); + writeFileSync(join(root, "src/Counter.tsx"), readFileSync(join(root, "src/Counter2.txt"))); + + console.log("Waiting for Next HMR"); await waitForConsoleMessage(p, /counter b loaded/); assert.strictEqual(await getCount(), "Count B: 1"); await counter_root.$eval(".inc", x => (x as HTMLElement).click()); @@ -114,6 +133,7 @@ async function main() { const [has_class, style_json_string] = await counter_root.evaluate( x => [(x as HTMLElement).classList.contains("rounded-br-full"), JSON.stringify(getComputedStyle(x))] as const, ); + console.log("Look at styles"); assert.strictEqual(has_class, true); const decoded_style = JSON.parse(style_json_string); assert.strictEqual(decoded_style.borderTopLeftRadius, "0px"); @@ -122,6 +142,8 @@ async function main() { assert.strictEqual(decoded_style.borderBottomLeftRadius, "0px"); } + console.log("Closing"); + await b.close(); console.error("Finished dev-server-puppeteer.ts"); } diff --git a/test/integration/next-pages/test/dev-server.test.ts b/test/integration/next-pages/test/dev-server.test.ts index a0c669f1ef..cf5de4dde1 100644 --- a/test/integration/next-pages/test/dev-server.test.ts +++ b/test/integration/next-pages/test/dev-server.test.ts @@ -135,6 +135,8 @@ test.skipIf(puppeteer_unsupported || (isWindows && isCI))( var pid: number, exited; let timeout = setTimeout(() => { + console.log('Timeout!'); + if (timeout && pid) { process.kill?.(pid); pid = 0; @@ -144,7 +146,7 @@ test.skipIf(puppeteer_unsupported || (isWindows && isCI))( dev_server_pid = undefined; } } - }, 30000).unref(); + }, 300_000).unref(); ({ exited, pid } = Bun.spawn([bunExe(), "test/dev-server-puppeteer.ts", baseUrl], { cwd: root,