Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: move HMR Error Recovery test to a separate file #73592

Conversation

devjiwonchoi
Copy link
Member

@devjiwonchoi devjiwonchoi commented Dec 6, 2024

Note

The "Test new tests for flakes" may fail due to the number of tests in a single hmr.test.ts file.
The follow-up stacks are to resolve the issue.

Why?

Moved to a separate file to run the test in parallel.

@devjiwonchoi devjiwonchoi force-pushed the 12-06-test_move_hmr_error_recovery_test_to_a_separate_file branch from 80000cd to 2eb7712 Compare December 6, 2024 10:00
@ijjk
Copy link
Member

ijjk commented Dec 6, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
buildDuration 22.8s 18.2s N/A
buildDurationCached 17.4s 15.2s N/A
nodeModulesSize 409 MB 409 MB
nextStartRea..uration (ms) 460ms 483ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
1187-HASH.js gzip 49.6 kB 49.6 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.3 kB 5.3 kB N/A
bccd1874-HASH.js gzip 53 kB 53 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 232 B 235 B N/A
main-HASH.js gzip 33.7 kB 33.7 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 193 B 193 B
amp-HASH.js gzip 513 B 511 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 362 B N/A
hooks-HASH.js gzip 393 B 392 B N/A
image-HASH.js gzip 4.44 kB 4.43 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.34 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 323 B 326 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.75 kB 1.75 kB
Client Build Manifests
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
_buildManifest.js gzip 746 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
index.html gzip 523 B 524 B N/A
link.html gzip 537 B 537 B
withRouter.html gzip 519 B 521 B N/A
Overall change 537 B 537 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 200 kB 200 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
middleware-b..fest.js gzip 665 B 663 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.1 kB 31.1 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
797-experime...dev.js gzip 322 B 322 B
797.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 321 kB 321 kB
app-page-exp..prod.js gzip 126 kB 126 kB
app-page-tur..prod.js gzip 139 kB 139 kB
app-page-tur..prod.js gzip 134 kB 134 kB
app-page.run...dev.js gzip 312 kB 312 kB
app-page.run..prod.js gzip 122 kB 122 kB
app-route-ex...dev.js gzip 36.8 kB 36.8 kB
app-route-ex..prod.js gzip 25 kB 25 kB
app-route-tu..prod.js gzip 25 kB 25 kB
app-route-tu..prod.js gzip 24.8 kB 24.8 kB
app-route.ru...dev.js gzip 38.5 kB 38.5 kB
app-route.ru..prod.js gzip 24.8 kB 24.8 kB
pages-api-tu..prod.js gzip 9.56 kB 9.56 kB
pages-api.ru...dev.js gzip 11.4 kB 11.4 kB
pages-api.ru..prod.js gzip 9.56 kB 9.56 kB
pages-turbo...prod.js gzip 21.3 kB 21.3 kB
pages.runtim...dev.js gzip 27 kB 27 kB
pages.runtim..prod.js gzip 21.3 kB 21.3 kB
server.runti..prod.js gzip 916 kB 916 kB
Overall change 2.35 MB 2.35 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js 12-06-test_move_hmr_error_recovery_test_to_a_separate_file Change
0.pack gzip 2.03 MB 2.04 MB ⚠️ +3.94 kB
index.pack gzip 145 kB 145 kB ⚠️ +101 B
Overall change 2.18 MB 2.18 MB ⚠️ +4.04 kB
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: 010c11c

@ijjk
Copy link
Member

ijjk commented Dec 6, 2024

Failing test suites

Commit: 010c11c

pnpm test-dev test/development/app-hmr/hmr.test.ts

  • app-dir-hmr > filesystem changes > should update server components after navigating to a page with a different runtime
Expand output

● app-dir-hmr › filesystem changes › should update server components after navigating to a page with a different runtime

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

Expected: "ipad"
Received: "mac"

  69 |
  70 |         await retry(async () => {
> 71 |           expect(await browser.elementByCss('p').text()).toBe('ipad')
     |                                                          ^
  72 |         })
  73 |
  74 |         const logs = await browser.log()

  at toBe (development/app-hmr/hmr.test.ts:71:58)
  at retry (lib/next-test-utils.ts:806:14)
  at development/app-hmr/hmr.test.ts:70:9
  at NextDevInstance.patchFile (lib/next-modes/base.ts:531:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:195:16)
  at Object.<anonymous> (development/app-hmr/hmr.test.ts:67:7)

Read more about building and testing Next.js in contributing.md.

pnpm test test/integration/clean-distdir/test/index.test.js

  • Cleaning distDir > production mode > should clean up .next before build start
  • Cleaning distDir > production mode > disabled write > should not clean up .next before build start
Expand output

● Cleaning distDir › production mode › should clean up .next before build start

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."

  25 |
  26 | const runTests = () => {
> 27 |   it('should clean up .next before build start', async () => {
     |   ^
  28 |     await checkFileWrite(false)
  29 |   })
  30 | }

  at it (integration/clean-distdir/test/index.test.js:27:3)
  at runTests (integration/clean-distdir/test/index.test.js:40:7)
  at integration/clean-distdir/test/index.test.js:33:56
  at Object.describe (integration/clean-distdir/test/index.test.js:32:1)

● Cleaning distDir › production mode › disabled write › should not clean up .next before build start

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."

  56 |         })
  57 |
> 58 |         it('should not clean up .next before build start', async () => {
     |         ^
  59 |           await checkFileWrite(true)
  60 |         })
  61 |       })

  at it (integration/clean-distdir/test/index.test.js:58:9)
  at describe (integration/clean-distdir/test/index.test.js:42:7)
  at integration/clean-distdir/test/index.test.js:33:56
  at Object.describe (integration/clean-distdir/test/index.test.js:32:1)

Read more about building and testing Next.js in contributing.md.

@devjiwonchoi devjiwonchoi force-pushed the 12-06-test_move_hmr_error_recovery_test_to_a_separate_file branch 2 times, most recently from 165b73c to 010c11c Compare December 6, 2024 16:44
})

if (!process.env.TURBOPACK) {
it('should have client HMR events in trace file', async () => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

client-hmr-latency only exists after error recovery test, so moved as well

@devjiwonchoi devjiwonchoi force-pushed the 12-06-test_move_hmr_full_reload_test_to_a_separate_file branch from 20023b1 to 25d0911 Compare December 6, 2024 19:49
@devjiwonchoi devjiwonchoi requested review from huozhi and eps1lon and removed request for samcx and gaojude December 6, 2024 19:57
@devjiwonchoi devjiwonchoi force-pushed the 12-06-test_move_hmr_error_recovery_test_to_a_separate_file branch from 010c11c to dab8019 Compare December 6, 2024 20:00
@ijjk ijjk added the type: next label Dec 6, 2024
@devjiwonchoi devjiwonchoi force-pushed the 12-06-test_move_hmr_error_recovery_test_to_a_separate_file branch from dab8019 to c00e26f Compare December 6, 2024 20:01
Base automatically changed from 12-06-test_move_hmr_full_reload_test_to_a_separate_file to canary December 9, 2024 22:05
@devjiwonchoi devjiwonchoi force-pushed the 12-06-test_move_hmr_error_recovery_test_to_a_separate_file branch from 8f6443b to c00e26f Compare December 9, 2024 22:14
@devjiwonchoi devjiwonchoi merged commit abe7310 into canary Dec 9, 2024
21 of 26 checks passed
@devjiwonchoi devjiwonchoi deleted the 12-06-test_move_hmr_error_recovery_test_to_a_separate_file branch December 9, 2024 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants