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 fixtures to a fixtures/ directory #73613

Conversation

devjiwonchoi
Copy link
Member

@devjiwonchoi devjiwonchoi commented Dec 6, 2024

Why?

Moved the fixtures within fixtures/ dir for follow-up testing. The plan is to have each tests in __tests__ dir and point to the fixtures/ dir.

@ijjk
Copy link
Member

ijjk commented Dec 6, 2024

Failing test suites

Commit: babeb23

pnpm test-dev-turbo test/development/acceptance-app/error-recovery.test.ts (turbopack)

  • Error recovery app turbo > can recover from a syntax error without losing state
Expand output

● Error recovery app turbo › can recover from a syntax error without losing state

TIMED OUT: /Count: 1/

Count: 0

undefined

  731 |
  732 |   if (hardError) {
> 733 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  734 |   }
  735 |   return false
  736 | }

  at check (lib/next-test-utils.ts:733:11)
  at Object.<anonymous> (development/acceptance-app/error-recovery.test.ts:68:5)

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

pnpm test-dev test/e2e/app-dir/app-compilation/index.test.ts

  • app dir > HMR > should not cause error when removing loading.js
Expand output

● app dir › HMR › should not cause error when removing loading.js

expect(received).toInclude(expected)

Expected string to include:
  "✓ Compiled"
Received:
  ""

  38 |
  39 |         await retry(async () => {
> 40 |           expect(next.cliOutput.slice(cliOutputLength)).toInclude('✓ Compiled')
     |                                                         ^
  41 |         })
  42 |
  43 |         // It should not have an error

  at toInclude (e2e/app-dir/app-compilation/index.test.ts:40:57)
  at fn (lib/next-test-utils.ts:806:20)
  at Object.<anonymous> (e2e/app-dir/app-compilation/index.test.ts:39:9)

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

@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-07-test_move_hmr_fixtures_to_a_fixtures__directory Change
buildDuration 22.5s 20.1s N/A
buildDurationCached 19.1s 16.7s N/A
nodeModulesSize 409 MB 409 MB N/A
nextStartRea..uration (ms) 504ms 510ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 12-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory Change
middleware-b..fest.js gzip 666 B 664 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-07-test_move_hmr_fixtures_to_a_fixtures__directory 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-07-test_move_hmr_fixtures_to_a_fixtures__directory Change
0.pack gzip 2.04 MB 2.03 MB N/A
index.pack gzip 145 kB 146 kB ⚠️ +622 B
Overall change 145 kB 146 kB ⚠️ +622 B
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: babeb23

Copy link
Member

@huozhi huozhi left a comment

Choose a reason for hiding this comment

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

I don't feel we should have __tests__ as everything is already under test. Prefer to have fixtures staying together with the test file as we do today. Having fixtures and __tests__ brings extra effort to memorizing

@devjiwonchoi devjiwonchoi force-pushed the 12-07-test_move_hmr_basic_test_to_a_separate_file branch 4 times, most recently from c9c10fd to ff4fe3e Compare December 9, 2024 22:40
Base automatically changed from 12-07-test_move_hmr_basic_test_to_a_separate_file to canary December 9, 2024 22:41
@devjiwonchoi devjiwonchoi force-pushed the 12-07-test_move_hmr_fixtures_to_a_fixtures__directory branch from babeb23 to 352a8fe Compare December 9, 2024 22:47
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants