From 7aed56ce306ee6eb51e8b5bce5774ffff518f97c Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Fri, 10 Apr 2026 15:46:57 +0200 Subject: [PATCH] test(cloudflare): Unflake integration test --- dev-packages/cloudflare-integration-tests/runner.ts | 4 ++++ .../suites/tracing/durableobject-spans/test.ts | 10 ++++++++++ .../cloudflare-integration-tests/vite.config.mts | 3 +++ 3 files changed, 17 insertions(+) diff --git a/dev-packages/cloudflare-integration-tests/runner.ts b/dev-packages/cloudflare-integration-tests/runner.ts index b0b439eb122a..160a3b43bcb0 100644 --- a/dev-packages/cloudflare-integration-tests/runner.ts +++ b/dev-packages/cloudflare-integration-tests/runner.ts @@ -237,6 +237,10 @@ export function createRunner(...paths: string[]) { `SENTRY_DSN:http://public@localhost:${mockServerPort}/1337`, '--var', `SERVER_URL:${serverUrl}`, + '--port', + '0', + '--inspector-port', + '0', ], { stdio, signal }, ); diff --git a/dev-packages/cloudflare-integration-tests/suites/tracing/durableobject-spans/test.ts b/dev-packages/cloudflare-integration-tests/suites/tracing/durableobject-spans/test.ts index 795eb03e27c2..d611987337e0 100644 --- a/dev-packages/cloudflare-integration-tests/suites/tracing/durableobject-spans/test.ts +++ b/dev-packages/cloudflare-integration-tests/suites/tracing/durableobject-spans/test.ts @@ -45,10 +45,20 @@ it('sends child spans on repeated Durable Object calls', async ({ signal }) => { // Expect 5 transaction envelopes — one per call. const runner = createRunner(__dirname).expectN(5, assertDoWorkEnvelope).start(signal); + // Small delay between requests to allow waitUntil to process in wrangler dev. + // This is needed because wrangler dev may not guarantee waitUntil completion + // the same way production Cloudflare does. Without this delay, the last + // envelope's HTTP request may not complete before the test moves on. + const delay = () => new Promise(resolve => setTimeout(resolve, 50)); + await runner.makeRequest('get', '/'); + await delay(); await runner.makeRequest('get', '/'); + await delay(); await runner.makeRequest('get', '/'); + await delay(); await runner.makeRequest('get', '/'); + await delay(); await runner.makeRequest('get', '/'); await runner.completed(); }); diff --git a/dev-packages/cloudflare-integration-tests/vite.config.mts b/dev-packages/cloudflare-integration-tests/vite.config.mts index a80bbbf63f32..0fdb560b8f11 100644 --- a/dev-packages/cloudflare-integration-tests/vite.config.mts +++ b/dev-packages/cloudflare-integration-tests/vite.config.mts @@ -28,6 +28,9 @@ export default defineConfig({ singleThread: true, }, }, + sequence: { + shuffle: true, + }, reporters: process.env.DEBUG ? ['default', { summary: false }] : process.env.GITHUB_ACTIONS