Skip to content

Add Turbopack HMR subscription initialization regression tests - #98260

Draft
timneutkens wants to merge 3 commits into
codex/turbopack-watcher-diagnostics-a9a1cbfrom
codex/turbopack-hmr-subscription-race-tests
Draft

timneutkens wants to merge 3 commits into
codex/turbopack-watcher-diagnostics-a9a1cbfrom
codex/turbopack-hmr-subscription-race-tests

Conversation

@timneutkens

@timneutkens timneutkens commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds deterministic Rust coverage proving that the HMR subscription baseline retains the first observed version when invalidation overlaps initialization. The project.rs production diff only extracts the existing baseline read into a helper so the colocated #[cfg(test)] module exercises the exact production path.

Adds a Turbopack development-mode e2e test that edits a client component as its page-specific HMR subscription is established, then verifies that the initial update reaches the browser without a full-page reload.

This PR is stacked on #98215 and contains the regression coverage for that fix.

Verification

  • cargo test -p next-api --lib
  • cargo fmt --all -- --check
  • NEXT_TEST_PREFER_OFFLINE=1 pnpm test-dev-turbo test/development/app-dir/hmr-dynamic-component/hmr-dynamic-component.test.ts -t "should not lose an edit while establishing the client HMR subscription"
  • pnpm lint-eslint test/development/app-dir/hmr-dynamic-component/hmr-dynamic-component.test.ts

@github-actions

github-actions Bot commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Failing test suites

Commit: 416bf20 | About building and testing Next.js

pnpm test-dev-experimental-turbo test/development/app-dir/hmr-deleted-page/hmr-deleted-page.test.ts (turbopack) (Experimental) (job)

  • hmr-deleted-page > should not show errors for a deleted page (DD)
Expand output

● hmr-deleted-page › should not show errors for a deleted page

Expected no visible Redbox but found one
header: Build Error
Module not found: Can't resolve './style.css'
description: Module not found: Can't resolve './style.css'
source: ./app/page/page.tsx
Error: Module not found: Can't resolve './style.css'

https://nextjs.org/docs/messages/module-not-found

  25 |     await waitForHydration(browser)
  26 |
> 27 |     await waitForNoRedbox(browser)
     |     ^
  28 |     expect(await browser.elementByCss('h1').text()).toBe('404')
  29 |   })
  30 | })

  at Object.<anonymous> (development/app-dir/hmr-deleted-page/hmr-deleted-page.test.ts:27:5)

pnpm test-dev-experimental-turbo test/e2e/filesystem-cache/warm-restart-task-stats.test.ts (turbopack) (Experimental) (job)

  • warm-restart task statistics > snapshot of tasks with cache misses on warm dev restart (DD)
Expand output

● warm-restart task statistics › snapshot of tasks with cache misses on warm dev restart

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  341 |   let next: NextInstance | undefined
  342 |   if (!skipped) {
> 343 |     beforeAll(async () => {
      |     ^
  344 |       next = await createNext(options)
  345 |     })
  346 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:343:5)
  at e2e/filesystem-cache/warm-restart-task-stats.test.ts:47:44
  at Object.<anonymous> (e2e/filesystem-cache/warm-restart-task-stats.test.ts:28:58)

● warm-restart task statistics › snapshot of tasks with cache misses on warm dev restart

next instance is not initialized yet, make sure you call methods on next instance in test body.

  364 |     set: function (_target, key, value) {
  365 |       if (!next) {
> 366 |         throw new Error(
      |               ^
  367 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  368 |         )
  369 |       }

  at Object.set (lib/e2e-utils/index.ts:366:15)
  at Object.<anonymous> (e2e/filesystem-cache/warm-restart-task-stats.test.ts:69:53)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  219 |     if (nextInstance) {
  220 |       await nextInstance.destroy()
> 221 |       throw new Error(
      |             ^
  222 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  223 |       )
  224 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:221:13)

pnpm test-start-experimental-turbo test/e2e/handle-non-hoisted-swc-helpers/index.test.ts (turbopack) (Experimental) (job)

  • handle-non-hoisted-swc-helpers > should work (DD)
Expand output

● handle-non-hoisted-swc-helpers › should work

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  341 |   let next: NextInstance | undefined
  342 |   if (!skipped) {
> 343 |     beforeAll(async () => {
      |     ^
  344 |       next = await createNext(options)
  345 |     })
  346 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:343:5)
  at e2e/handle-non-hoisted-swc-helpers/index.test.ts:5:33
  at Object.describe (e2e/handle-non-hoisted-swc-helpers/index.test.ts:4:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  219 |     if (nextInstance) {
  220 |       await nextInstance.destroy()
> 221 |       throw new Error(
      |             ^
  222 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  223 |       )
  224 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:221:13)

pnpm test-dev test/development/app-dir/use-cache-custom-handler-dev/use-cache-custom-handler-dev.test.ts (job)

  • use-cache-custom-handler-dev > serves a short-expire value warm through a custom handler and re-warms it on each reload (DD)
  • use-cache-custom-handler-dev > stops serving a front-cached entry after the backing cache is purged out-of-band (DD)
Expand output

● use-cache-custom-handler-dev › serves a short-expire value warm through a custom handler and re-warms it on each reload

expect(received).not.toBe(expected) // Object.is equality

Expected: not "2026-09-04T09:45:30.503Z"

  69 |     await retry(async () => {
  70 |       await browser.refresh()
> 71 |       expect(await browser.elementById('value').text()).not.toBe(coldValue)
     |                                                             ^
  72 |     })
  73 |   })
  74 |

  at toBe (development/app-dir/use-cache-custom-handler-dev/use-cache-custom-handler-dev.test.ts:71:61)
  at retry (lib/next-test-utils.ts:868:14)
  at Object.<anonymous> (development/app-dir/use-cache-custom-handler-dev/use-cache-custom-handler-dev.test.ts:69:5)

● use-cache-custom-handler-dev › stops serving a front-cached entry after the backing cache is purged out-of-band

expect(received).not.toBe(expected) // Object.is equality

Expected: not "2026-09-04T09:45:38.341Z"

   96 |     await retry(async () => {
   97 |       await browser.refresh()
>  98 |       expect(await browser.elementById('value').text()).not.toBe(coldValue)
      |                                                             ^
   99 |     })
  100 |   })
  101 | })

  at toBe (development/app-dir/use-cache-custom-handler-dev/use-cache-custom-handler-dev.test.ts:98:61)
  at retry (lib/next-test-utils.ts:868:14)
  at Object.<anonymous> (development/app-dir/use-cache-custom-handler-dev/use-cache-custom-handler-dev.test.ts:96:5)

pnpm test-start test/production/create-next-app/prompts.test.ts (job)

  • create-next-app prompts > should prompt user for choice if directory name is absent (DD)
  • create-next-app prompts > should use default for --ts when other flags are provided (DD)
  • create-next-app prompts > should use default import alias when other flags are provided (DD)
  • create-next-app prompts > should use recommended defaults when user selects that option (DD)
  • create-next-app prompts > should show reuse previous settings option when preferences exist (DD)
Expand output

● create-next-app prompts › should prompt user for choice if directory name is absent

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  15 |   })
  16 |
> 17 |   it('should prompt user for choice if directory name is absent', async () => {
     |   ^
  18 |     await useTempDir(async (cwd) => {
  19 |       const projectName = 'no-dir-name'
  20 |       const childProcess = createNextApp(

  at it (production/create-next-app/prompts.test.ts:17:3)
  at Object.describe (production/create-next-app/prompts.test.ts:10:1)

● create-next-app prompts › should use default for --ts when other flags are provided

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  55 |   })
  56 |
> 57 |   it('should use default for --ts when other flags are provided', async () => {
     |   ^
  58 |     await useTempDir(async (cwd) => {
  59 |       const projectName = 'ts-js'
  60 |       const childProcess = createNextApp(

  at it (production/create-next-app/prompts.test.ts:57:3)
  at Object.describe (production/create-next-app/prompts.test.ts:10:1)

● create-next-app prompts › should use default import alias when other flags are provided

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  127 |   })
  128 |
> 129 |   it('should use default import alias when other flags are provided', async () => {
      |   ^
  130 |     await useTempDir(async (cwd) => {
  131 |       const projectName = 'import-alias'
  132 |       const childProcess = createNextApp(

  at it (production/create-next-app/prompts.test.ts:129:3)
  at Object.describe (production/create-next-app/prompts.test.ts:10:1)

● create-next-app prompts › should use recommended defaults when user selects that option

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  209 |   })
  210 |
> 211 |   it('should use recommended defaults when user selects that option', async () => {
      |   ^
  212 |     await useTempDir(async (cwd) => {
  213 |       const projectName = 'recommended-defaults'
  214 |       const childProcess = createNextApp(

  at it (production/create-next-app/prompts.test.ts:211:3)
  at Object.describe (production/create-next-app/prompts.test.ts:10:1)

● create-next-app prompts › should show reuse previous settings option when preferences exist

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  247 |   })
  248 |
> 249 |   it('should show reuse previous settings option when preferences exist', async () => {
      |   ^
  250 |     const Conf = require('next/dist/compiled/conf')
  251 |
  252 |     await useTempDir(async (cwd) => {

  at it (production/create-next-app/prompts.test.ts:249:3)
  at Object.describe (production/create-next-app/prompts.test.ts:10:1)

pnpm test-start test/production/create-next-app/templates/pages.test.ts (job)

  • create-next-app --no-app (Pages Router) > should create JavaScript project with --js flag (DD)
  • create-next-app --no-app (Pages Router) > should create project inside "src" directory with --src-dir flag (DD)
  • create-next-app --no-app (Pages Router) > should create an empty project with --empty flag (DD)
  • create-next-app --no-app (Pages Router) > should create an empty TailwindCSS project with --empty flag (DD)
Expand output

● create-next-app --no-app (Pages Router) › should create JavaScript project with --js flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  15 |   })
  16 |
> 17 |   it('should create JavaScript project with --js flag', async () => {
     |   ^
  18 |     await useTempDir(async (cwd) => {
  19 |       const projectName = 'pages-js'
  20 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/pages.test.ts:17:3)
  at Object.describe (production/create-next-app/templates/pages.test.ts:10:1)

● create-next-app --no-app (Pages Router) › should create project inside "src" directory with --src-dir flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  84 |   })
  85 |
> 86 |   it('should create project inside "src" directory with --src-dir flag', async () => {
     |   ^
  87 |     await useTempDir(async (cwd) => {
  88 |       const projectName = 'pages-src-dir'
  89 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/pages.test.ts:86:3)
  at Object.describe (production/create-next-app/templates/pages.test.ts:10:1)

● create-next-app --no-app (Pages Router) › should create an empty project with --empty flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  159 |   })
  160 |
> 161 |   it('should create an empty project with --empty flag', async () => {
      |   ^
  162 |     await useTempDir(async (cwd) => {
  163 |       const projectName = 'pages-empty'
  164 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/pages.test.ts:161:3)
  at Object.describe (production/create-next-app/templates/pages.test.ts:10:1)

● create-next-app --no-app (Pages Router) › should create an empty TailwindCSS project with --empty flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  200 |   })
  201 |
> 202 |   it('should create an empty TailwindCSS project with --empty flag', async () => {
      |   ^
  203 |     await useTempDir(async (cwd) => {
  204 |       const projectName = 'pages-tw-empty'
  205 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/pages.test.ts:202:3)
  at Object.describe (production/create-next-app/templates/pages.test.ts:10:1)

pnpm test-start test/production/create-next-app/templates/app-api.test.ts (job)

  • create-next-app --api (Headless App) > should create TypeScript project with --ts flag (DD)
Expand output

● create-next-app --api (Headless App) › should create TypeScript project with --ts flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  84 |   })
  85 |
> 86 |   it('should create TypeScript project with --ts flag', async () => {
     |   ^
  87 |     await useTempDir(async (cwd) => {
  88 |       const projectName = 'app-ts'
  89 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app-api.test.ts:86:3)
  at Object.describe (production/create-next-app/templates/app-api.test.ts:46:1)

pnpm test-dev-turbo test/development/acceptance-app/app-hmr-changes.test.ts (turbopack) (job)

  • Error overlay - RSC build errors > Skipped in webpack > should handle successive HMR changes with errors correctly (DD)
Expand output

● Error overlay - RSC build errors › Skipped in webpack › should handle successive HMR changes with errors correctly

Application is in inconsistent state: timeout.

  114 |             }
  115 |             if (status !== 'pending') {
> 116 |               throw new Error(
      |                     ^
  117 |                 `Application is in inconsistent state: ${status}.`
  118 |               )
  119 |             }

  at Object.patch (lib/development-sandbox.ts:116:21)
  at Object.<anonymous> (development/acceptance-app/app-hmr-changes.test.ts:58:11)

pnpm test-dev-turbo test/e2e/filesystem-cache/warm-restart-task-stats.test.ts (turbopack) (job)

  • warm-restart task statistics > snapshot of tasks with cache misses on warm dev restart (DD)
Expand output

● warm-restart task statistics › snapshot of tasks with cache misses on warm dev restart

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  341 |   let next: NextInstance | undefined
  342 |   if (!skipped) {
> 343 |     beforeAll(async () => {
      |     ^
  344 |       next = await createNext(options)
  345 |     })
  346 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:343:5)
  at e2e/filesystem-cache/warm-restart-task-stats.test.ts:47:44
  at Object.<anonymous> (e2e/filesystem-cache/warm-restart-task-stats.test.ts:28:58)

● warm-restart task statistics › snapshot of tasks with cache misses on warm dev restart

next instance is not initialized yet, make sure you call methods on next instance in test body.

  364 |     set: function (_target, key, value) {
  365 |       if (!next) {
> 366 |         throw new Error(
      |               ^
  367 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  368 |         )
  369 |       }

  at Object.set (lib/e2e-utils/index.ts:366:15)
  at Object.<anonymous> (e2e/filesystem-cache/warm-restart-task-stats.test.ts:69:53)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  219 |     if (nextInstance) {
  220 |       await nextInstance.destroy()
> 221 |       throw new Error(
      |             ^
  222 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  223 |       )
  224 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:221:13)

pnpm test-dev-turbo test/development/app-dir/hmr-deleted-page/hmr-deleted-page.test.ts (turbopack) (job)

  • hmr-deleted-page > should not show errors for a deleted page (DD)
Expand output

● hmr-deleted-page › should not show errors for a deleted page

Expected no visible Redbox but found one
header: Build Error
Module not found: Can't resolve './style.css'
description: Module not found: Can't resolve './style.css'
source: ./app/page/page.tsx
Error: Module not found: Can't resolve './style.css'

https://nextjs.org/docs/messages/module-not-found

  25 |     await waitForHydration(browser)
  26 |
> 27 |     await waitForNoRedbox(browser)
     |     ^
  28 |     expect(await browser.elementByCss('h1').text()).toBe('404')
  29 |   })
  30 | })

  at Object.<anonymous> (development/app-dir/hmr-deleted-page/hmr-deleted-page.test.ts:27:5)

pnpm test-start-turbo test/production/create-next-app/package-manager/npm.test.ts (turbopack) (job)

  • create-next-app with package manager npm > should use npm for --use-npm flag (DD)
  • create-next-app with package manager npm > should use npm for --use-npm flag with example (DD)
  • create-next-app with package manager npm > should use npm when user-agent is npm with example (DD)
Expand output

● create-next-app with package manager npm › should use npm for --use-npm flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  18 |   })
  19 |
> 20 |   it('should use npm for --use-npm flag', async () => {
     |   ^
  21 |     await useTempDir(async (cwd) => {
  22 |       const projectName = 'use-npm'
  23 |       const res = await run(

  at it (production/create-next-app/package-manager/npm.test.ts:20:3)
  at Object.describe (production/create-next-app/package-manager/npm.test.ts:13:1)

● create-next-app with package manager npm › should use npm for --use-npm flag with example

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  80 |   })
  81 |
> 82 |   it('should use npm for --use-npm flag with example', async () => {
     |   ^
  83 |     await useTempDir(async (cwd) => {
  84 |       const projectName = 'use-npm-with-example'
  85 |       const res = await run(

  at it (production/create-next-app/package-manager/npm.test.ts:82:3)
  at Object.describe (production/create-next-app/package-manager/npm.test.ts:13:1)

● create-next-app with package manager npm › should use npm when user-agent is npm with example

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

   98 |   })
   99 |
> 100 |   it('should use npm when user-agent is npm with example', async () => {
      |   ^
  101 |     await useTempDir(async (cwd) => {
  102 |       const projectName = 'user-agent-npm-with-example'
  103 |       const res = await run(

  at it (production/create-next-app/package-manager/npm.test.ts:100:3)
  at Object.describe (production/create-next-app/package-manager/npm.test.ts:13:1)

pnpm test-start-turbo test/production/create-next-app/templates/app.test.ts (turbopack) (job)

  • create-next-app --app (App Router) > should create JavaScript project with --js flag (DD)
  • create-next-app --app (App Router) > should create TypeScript project with --ts flag (DD)
  • create-next-app --app (App Router) > should create project inside "src" directory with --src-dir flag (DD)
  • create-next-app --app (App Router) > should create TailwindCSS project with --tailwind flag (DD)
  • create-next-app --app (App Router) > should create an empty project with --empty flag (DD)
  • create-next-app --app (App Router) > should create an empty TailwindCSS project with --empty flag (DD)
Expand output

● create-next-app --app (App Router) › should create JavaScript project with --js flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  15 |   })
  16 |
> 17 |   it('should create JavaScript project with --js flag', async () => {
     |   ^
  18 |     await useTempDir(async (cwd) => {
  19 |       const projectName = 'app-js'
  20 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app.test.ts:17:3)
  at Object.describe (production/create-next-app/templates/app.test.ts:10:1)

● create-next-app --app (App Router) › should create TypeScript project with --ts flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  46 |   })
  47 |
> 48 |   it('should create TypeScript project with --ts flag', async () => {
     |   ^
  49 |     await useTempDir(async (cwd) => {
  50 |       const projectName = 'app-ts'
  51 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app.test.ts:48:3)
  at Object.describe (production/create-next-app/templates/app.test.ts:10:1)

● create-next-app --app (App Router) › should create project inside "src" directory with --src-dir flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  75 |   })
  76 |
> 77 |   it('should create project inside "src" directory with --src-dir flag', async () => {
     |   ^
  78 |     await useTempDir(async (cwd) => {
  79 |       const projectName = 'app-src-dir'
  80 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app.test.ts:77:3)
  at Object.describe (production/create-next-app/templates/app.test.ts:10:1)

● create-next-app --app (App Router) › should create TailwindCSS project with --tailwind flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  113 |   })
  114 |
> 115 |   it('should create TailwindCSS project with --tailwind flag', async () => {
      |   ^
  116 |     await useTempDir(async (cwd) => {
  117 |       const projectName = 'app-tw'
  118 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app.test.ts:115:3)
  at Object.describe (production/create-next-app/templates/app.test.ts:10:1)

● create-next-app --app (App Router) › should create an empty project with --empty flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  150 |   })
  151 |
> 152 |   it('should create an empty project with --empty flag', async () => {
      |   ^
  153 |     await useTempDir(async (cwd) => {
  154 |       const projectName = 'app-empty'
  155 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app.test.ts:152:3)
  at Object.describe (production/create-next-app/templates/app.test.ts:10:1)

● create-next-app --app (App Router) › should create an empty TailwindCSS project with --empty flag

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  190 |   })
  191 |
> 192 |   it('should create an empty TailwindCSS project with --empty flag', async () => {
      |   ^
  193 |     await useTempDir(async (cwd) => {
  194 |       const projectName = 'app-tw-empty'
  195 |       const { exitCode } = await run(

  at it (production/create-next-app/templates/app.test.ts:192:3)
  at Object.describe (production/create-next-app/templates/app.test.ts:10:1)

@timneutkens
timneutkens force-pushed the codex/turbopack-hmr-subscription-race-tests branch from fabffaf to dbf50f7 Compare September 4, 2026 08:56
@timneutkens timneutkens changed the title Add Turbopack HMR subscription initialization regression tests Add HMR subscription initialization e2e regression Sep 4, 2026
@timneutkens timneutkens changed the title Add HMR subscription initialization e2e regression Add Turbopack HMR subscription initialization regression tests Sep 4, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant