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

Send Next.js Integration test results to Slack #3591

Merged
merged 31 commits into from
Feb 3, 2023

Conversation

wbinnssmith
Copy link
Member

This uses Slack's GitHub action [0] to send the contents of the summary markdown file to a custom workflow for posting in Slack.

Since the markdown file includes newlines and quotes, this uses jq to escape it and format a new json file that the action reads.

Test Plan: Manually run the workflow against this branch

[0] https://github.com/slackapi/slack-github-action

@vercel
Copy link

vercel bot commented Feb 2, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
examples-basic-web ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-cra-web ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-designsystem-docs ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-kitchensink-blog ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-native-web ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-nonmonorepo ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-svelte-web ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-tailwind-web ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
examples-vite-web ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)
turbo-site ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 3, 2023 at 7:53PM (UTC)

@wbinnssmith wbinnssmith changed the base branch from main to format-passed-count February 2, 2023 00:11
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2023

Failing next.js integration test suites

Commit: a4558ac

Test summary

main (7b55c16 / v13.1.7-canary.4) Current (a4558ac / v13.1.7-canary.4) Diff (Failed)
Test suites 🔴 12 / 🟢 0 (Total: 12) 🔴 12 / 🟢 0 (Total: 12) 0️⃣
Test cases 🔴 36 / 🟢 12 (Total: 50) 🔴 36 / 🟢 12 (Total: 50) 0️⃣
Full test report

test/development/acceptance-app/component-stack.test.ts

  • Component Stack in error overlay > should show a component stack on hydration error
Expand output

● Component Stack in error overlay › should show a component stack on hydration error

page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator('[data-nextjs-toast]')
============================================================

  329 |     return this.chain(() => {
  330 |       return page
> 331 |         .waitForSelector(selector, { timeout, state: 'attached' })
      |          ^
  332 |         .then(async (el) => {
  333 |           // it seems selenium waits longer and tests rely on this behavior
  334 |           // so we wait for the load event fire before returning

  at lib/browsers/playwright.ts:331:10

test/e2e/edge-compiler-can-import-blob-assets/index.test.ts

  • Edge Compiler can import asset assets > allows to fetch a remote URL
  • Edge Compiler can import asset assets > allows to fetch a remote URL with a path and basename
  • Edge Compiler can import asset assets > allows to fetch text assets
  • Edge Compiler can import asset assets > allows to fetch image assets
  • Edge Compiler can import asset assets > allows to assets from node_modules
  • Edge Compiler can import asset assets > extracts all the assets from the bundle
Expand output

● Edge Compiler can import asset assets › allows to fetch a remote URL

expect(received).toContain(expected) // indexOf

Expected substring: "Example Domain"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  27 |       handler: 'remote-full',
  28 |     })
> 29 |     expect(await response.text()).toContain('Example Domain')
     |                                   ^
  30 |   })
  31 |
  32 |   it('allows to fetch a remote URL with a path and basename', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:29:35)

● Edge Compiler can import asset assets › allows to fetch a remote URL with a path and basename

expect(received).toContain(expected) // indexOf

Expected substring: "Example Domain"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  41 |       }
  42 |     )
> 43 |     expect(await response.text()).toContain('Example Domain')
     |                                   ^
  44 |   })
  45 |
  46 |   it('allows to fetch text assets', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:43:35)

● Edge Compiler can import asset assets › allows to fetch text assets

expect(received).toContain(expected) // indexOf

Expected substring: "Hello, from text-file.txt!"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  48 |       handler: 'text-file',
  49 |     })
> 50 |     expect(html).toContain('Hello, from text-file.txt!')
     |                  ^
  51 |   })
  52 |
  53 |   it('allows to fetch image assets', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:50:18)

● Edge Compiler can import asset assets › allows to fetch image assets

expect(received).toBeTrue()

Expected value to be true:
  true
Received:
  false

  59 |       path.join(__dirname, './app/src/vercel.png')
  60 |     )
> 61 |     expect(buffer.equals(image)).toBeTrue()
     |                                  ^
  62 |   })
  63 |
  64 |   it('allows to assets from node_modules', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:61:34)

● Edge Compiler can import asset assets › allows to assets from node_modules

FetchError: invalid json response body at http://localhost:34897/api/edge?handler=from-node-module reason: Unexpected token E in JSON at position 0

  66 |       handler: 'from-node-module',
  67 |     })
> 68 |     const json = await response.json()
     |                  ^
  69 |     expect(json).toEqual({
  70 |       'i am': 'a node dependency',
  71 |     })

  at ../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:273:32
  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:68:18)

● Edge Compiler can import asset assets › extracts all the assets from the bundle

ENOENT: no such file or directory, open '/tmp/next-install-578ad59743c133651e7eede5e0ee4d03cc8ba37203b1712b0dd7eab685bb3c19/.next/server/middleware-manifest.json'

test/integration/broken-webpack-plugin/test/index.test.js

  • Handles a broken webpack plugin (precompile) > should render error correctly
Expand output

● Handles a broken webpack plugin (precompile) › should render error correctly

expect(received).toContain(expected) // indexOf

Expected substring: "Internal Server Error"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  34 |   it('should render error correctly', async () => {
  35 |     const text = await renderViaHTTP(appPort, '/')
> 36 |     expect(text).toContain('Internal Server Error')
     |                  ^
  37 |
  38 |     expect(stderr).toMatch('Error: oops')
  39 |   })

  at Object.<anonymous> (integration/broken-webpack-plugin/test/index.test.js:36:18)

test/development/api-cors-with-rewrite/index.test.ts

  • Rewritten API Requests should pass OPTIONS requests to the api function > should pass OPTIONS requests to the api function
Expand output

● Rewritten API Requests should pass OPTIONS requests to the api function › should pass OPTIONS requests to the api function

expect(received).toContain(expected) // indexOf

Expected substring: "successfully hit some-endpoint!"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  41 |       },
  42 |     })
> 43 |     expect(await res.text()).toContain('successfully hit some-endpoint!')
     |                              ^
  44 |   })
  45 | })
  46 |

  at Object.<anonymous> (development/api-cors-with-rewrite/index.test.ts:43:30)

test/e2e/app-dir/app-rendering/rendering.test.ts

  • app dir rendering > should serve app/page.server.js at /
  • app dir rendering > ISR > should revalidate the page when revalidate is configured
  • app dir rendering > SSR only > should run data in layout and page
  • app dir rendering > SSR only > should run data fetch in parallel
  • app dir rendering > static only > should run data in layout and page
  • app dir rendering > static only > should run data in parallel during development
Expand output

● app dir rendering › should serve app/page.server.js at /

expect(received).toContain(expected) // indexOf

Expected substring: "app/page.server.js"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  12 |     it('should serve app/page.server.js at /', async () => {
  13 |       const html = await next.render('/')
> 14 |       expect(html).toContain('app/page.server.js')
     |                    ^
  15 |     })
  16 |
  17 |     describe('SSR only', () => {

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:14:20)

● app dir rendering › SSR only › should run data in layout and page

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

Expected: "hello from layout"
Received: ""

  18 |       it('should run data in layout and page', async () => {
  19 |         const $ = await next.render$('/ssr-only/nested')
> 20 |         expect($('#layout-message').text()).toBe('hello from layout')
     |                                             ^
  21 |         expect($('#page-message').text()).toBe('hello from page')
  22 |       })
  23 |

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:20:45)

● app dir rendering › SSR only › should run data fetch in parallel

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

Expected: "hello from slow layout"
Received: ""

  30 |         // Using 7 seconds to ensure external factors causing slight slowness don't fail the tests
  31 |         expect(duration < 7000).toBe(true)
> 32 |         expect($('#slow-layout-message').text()).toBe('hello from slow layout')
     |                                                  ^
  33 |         expect($('#slow-page-message').text()).toBe('hello from slow page')
  34 |       })
  35 |     })

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:32:50)

● app dir rendering › static only › should run data in layout and page

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

Expected: "hello from layout"
Received: ""

  38 |       it('should run data in layout and page', async () => {
  39 |         const $ = await next.render$('/static-only/nested')
> 40 |         expect($('#layout-message').text()).toBe('hello from layout')
     |                                             ^
  41 |         expect($('#page-message').text()).toBe('hello from page')
  42 |       })
  43 |

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:40:45)

● app dir rendering › static only › should run data in parallel during development

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

Expected: "hello from slow layout"
Received: ""

  54 |         // expect(duration < (isDev ? 7000 : 2000)).toBe(true)
  55 |         // expect(duration < 7000).toBe(true)
> 56 |         expect($('#slow-layout-message').text()).toBe('hello from slow layout')
     |                                                  ^
  57 |         expect($('#slow-page-message').text()).toBe('hello from slow page')
  58 |       })
  59 |     })

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:56:50)

● app dir rendering › ISR › should revalidate the page when revalidate is configured

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

Expected: "hello from layout"
Received: ""

  71 |         }
  72 |         const { $ } = await getPage()
> 73 |         expect($('#layout-message').text()).toBe('hello from layout')
     |                                             ^
  74 |         expect($('#page-message').text()).toBe('hello from page')
  75 |
  76 |         const layoutNow = $('#layout-now').text()

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:73:45)

test/integration/404-page-custom-error/test/index.test.js

  • Default 404 Page with custom _error > dev mode > should respond to 404 correctly
  • Default 404 Page with custom _error > dev mode > should render error correctly
  • Default 404 Page with custom _error > dev mode > should render index page normal
Expand output

● Default 404 Page with custom _error › dev mode › should respond to 404 correctly

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

Expected: 404
Received: 500

  24 |   it('should respond to 404 correctly', async () => {
  25 |     const res = await fetchViaHTTP(appPort, '/404')
> 26 |     expect(res.status).toBe(404)
     |                        ^
  27 |     expect(await res.text()).toContain('This page could not be found')
  28 |   })
  29 |

  at Object.<anonymous> (integration/404-page-custom-error/test/index.test.js:26:24)

● Default 404 Page with custom _error › dev mode › should render error correctly

expect(received).toContain(expected) // indexOf

Expected substring: "oops"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  30 |   it('should render error correctly', async () => {
  31 |     const text = await renderViaHTTP(appPort, '/err')
> 32 |     expect(text).toContain(isDev ? 'oops' : 'Internal Server Error')
     |                  ^
  33 |   })
  34 |
  35 |   it('should render index page normal', async () => {

  at Object.<anonymous> (integration/404-page-custom-error/test/index.test.js:32:18)

● Default 404 Page with custom _error › dev mode › should render index page normal

expect(received).toContain(expected) // indexOf

Expected substring: "hello from index"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  35 |   it('should render index page normal', async () => {
  36 |     const html = await renderViaHTTP(appPort, '/')
> 37 |     expect(html).toContain('hello from index')
     |                  ^
  38 |   })
  39 |
  40 |   if (!isDev) {

  at Object.<anonymous> (integration/404-page-custom-error/test/index.test.js:37:18)

test/development/acceptance-app/component-stack.test.ts

  • Component Stack in error overlay > should show a component stack on hydration error
Expand output

● Component Stack in error overlay › should show a component stack on hydration error

page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator('[data-nextjs-toast]')
============================================================

  329 |     return this.chain(() => {
  330 |       return page
> 331 |         .waitForSelector(selector, { timeout, state: 'attached' })
      |          ^
  332 |         .then(async (el) => {
  333 |           // it seems selenium waits longer and tests rely on this behavior
  334 |           // so we wait for the load event fire before returning

  at lib/browsers/playwright.ts:331:10

test/e2e/edge-compiler-can-import-blob-assets/index.test.ts

  • Edge Compiler can import asset assets > allows to fetch a remote URL
  • Edge Compiler can import asset assets > allows to fetch a remote URL with a path and basename
  • Edge Compiler can import asset assets > allows to fetch text assets
  • Edge Compiler can import asset assets > allows to fetch image assets
  • Edge Compiler can import asset assets > allows to assets from node_modules
  • Edge Compiler can import asset assets > extracts all the assets from the bundle
Expand output

● Edge Compiler can import asset assets › allows to fetch a remote URL

expect(received).toContain(expected) // indexOf

Expected substring: "Example Domain"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  27 |       handler: 'remote-full',
  28 |     })
> 29 |     expect(await response.text()).toContain('Example Domain')
     |                                   ^
  30 |   })
  31 |
  32 |   it('allows to fetch a remote URL with a path and basename', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:29:35)

● Edge Compiler can import asset assets › allows to fetch a remote URL with a path and basename

expect(received).toContain(expected) // indexOf

Expected substring: "Example Domain"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  41 |       }
  42 |     )
> 43 |     expect(await response.text()).toContain('Example Domain')
     |                                   ^
  44 |   })
  45 |
  46 |   it('allows to fetch text assets', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:43:35)

● Edge Compiler can import asset assets › allows to fetch text assets

expect(received).toContain(expected) // indexOf

Expected substring: "Hello, from text-file.txt!"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  48 |       handler: 'text-file',
  49 |     })
> 50 |     expect(html).toContain('Hello, from text-file.txt!')
     |                  ^
  51 |   })
  52 |
  53 |   it('allows to fetch image assets', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:50:18)

● Edge Compiler can import asset assets › allows to fetch image assets

expect(received).toBeTrue()

Expected value to be true:
  true
Received:
  false

  59 |       path.join(__dirname, './app/src/vercel.png')
  60 |     )
> 61 |     expect(buffer.equals(image)).toBeTrue()
     |                                  ^
  62 |   })
  63 |
  64 |   it('allows to assets from node_modules', async () => {

  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:61:34)

● Edge Compiler can import asset assets › allows to assets from node_modules

FetchError: invalid json response body at http://localhost:46293/api/edge?handler=from-node-module reason: Unexpected token E in JSON at position 0

  66 |       handler: 'from-node-module',
  67 |     })
> 68 |     const json = await response.json()
     |                  ^
  69 |     expect(json).toEqual({
  70 |       'i am': 'a node dependency',
  71 |     })

  at ../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:273:32
  at Object.<anonymous> (e2e/edge-compiler-can-import-blob-assets/index.test.ts:68:18)

● Edge Compiler can import asset assets › extracts all the assets from the bundle

ENOENT: no such file or directory, open '/tmp/next-install-e356f4f05f9d788b632efc6abc0476edcdd409adf943e94bd0b9e0e12655e497/.next/server/middleware-manifest.json'

test/integration/broken-webpack-plugin/test/index.test.js

  • Handles a broken webpack plugin (precompile) > should render error correctly
Expand output

● Handles a broken webpack plugin (precompile) › should render error correctly

expect(received).toContain(expected) // indexOf

Expected substring: "Internal Server Error"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  34 |   it('should render error correctly', async () => {
  35 |     const text = await renderViaHTTP(appPort, '/')
> 36 |     expect(text).toContain('Internal Server Error')
     |                  ^
  37 |
  38 |     expect(stderr).toMatch('Error: oops')
  39 |   })

  at Object.<anonymous> (integration/broken-webpack-plugin/test/index.test.js:36:18)

test/development/api-cors-with-rewrite/index.test.ts

  • Rewritten API Requests should pass OPTIONS requests to the api function > should pass OPTIONS requests to the api function
Expand output

● Rewritten API Requests should pass OPTIONS requests to the api function › should pass OPTIONS requests to the api function

expect(received).toContain(expected) // indexOf

Expected substring: "successfully hit some-endpoint!"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  41 |       },
  42 |     })
> 43 |     expect(await res.text()).toContain('successfully hit some-endpoint!')
     |                              ^
  44 |   })
  45 | })
  46 |

  at Object.<anonymous> (development/api-cors-with-rewrite/index.test.ts:43:30)

test/e2e/app-dir/app-rendering/rendering.test.ts

  • app dir rendering > should serve app/page.server.js at /
  • app dir rendering > ISR > should revalidate the page when revalidate is configured
  • app dir rendering > SSR only > should run data in layout and page
  • app dir rendering > SSR only > should run data fetch in parallel
  • app dir rendering > static only > should run data in layout and page
  • app dir rendering > static only > should run data in parallel during development
Expand output

● app dir rendering › should serve app/page.server.js at /

expect(received).toContain(expected) // indexOf

Expected substring: "app/page.server.js"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  12 |     it('should serve app/page.server.js at /', async () => {
  13 |       const html = await next.render('/')
> 14 |       expect(html).toContain('app/page.server.js')
     |                    ^
  15 |     })
  16 |
  17 |     describe('SSR only', () => {

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:14:20)

● app dir rendering › SSR only › should run data in layout and page

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

Expected: "hello from layout"
Received: ""

  18 |       it('should run data in layout and page', async () => {
  19 |         const $ = await next.render$('/ssr-only/nested')
> 20 |         expect($('#layout-message').text()).toBe('hello from layout')
     |                                             ^
  21 |         expect($('#page-message').text()).toBe('hello from page')
  22 |       })
  23 |

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:20:45)

● app dir rendering › SSR only › should run data fetch in parallel

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

Expected: "hello from slow layout"
Received: ""

  30 |         // Using 7 seconds to ensure external factors causing slight slowness don't fail the tests
  31 |         expect(duration < 7000).toBe(true)
> 32 |         expect($('#slow-layout-message').text()).toBe('hello from slow layout')
     |                                                  ^
  33 |         expect($('#slow-page-message').text()).toBe('hello from slow page')
  34 |       })
  35 |     })

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:32:50)

● app dir rendering › static only › should run data in layout and page

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

Expected: "hello from layout"
Received: ""

  38 |       it('should run data in layout and page', async () => {
  39 |         const $ = await next.render$('/static-only/nested')
> 40 |         expect($('#layout-message').text()).toBe('hello from layout')
     |                                             ^
  41 |         expect($('#page-message').text()).toBe('hello from page')
  42 |       })
  43 |

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:40:45)

● app dir rendering › static only › should run data in parallel during development

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

Expected: "hello from slow layout"
Received: ""

  54 |         // expect(duration < (isDev ? 7000 : 2000)).toBe(true)
  55 |         // expect(duration < 7000).toBe(true)
> 56 |         expect($('#slow-layout-message').text()).toBe('hello from slow layout')
     |                                                  ^
  57 |         expect($('#slow-page-message').text()).toBe('hello from slow page')
  58 |       })
  59 |     })

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:56:50)

● app dir rendering › ISR › should revalidate the page when revalidate is configured

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

Expected: "hello from layout"
Received: ""

  71 |         }
  72 |         const { $ } = await getPage()
> 73 |         expect($('#layout-message').text()).toBe('hello from layout')
     |                                             ^
  74 |         expect($('#page-message').text()).toBe('hello from page')
  75 |
  76 |         const layoutNow = $('#layout-now').text()

  at Object.<anonymous> (e2e/app-dir/app-rendering/rendering.test.ts:73:45)

test/integration/404-page-custom-error/test/index.test.js

  • Default 404 Page with custom _error > dev mode > should respond to 404 correctly
  • Default 404 Page with custom _error > dev mode > should render error correctly
  • Default 404 Page with custom _error > dev mode > should render index page normal
Expand output

● Default 404 Page with custom _error › dev mode › should respond to 404 correctly

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

Expected: 404
Received: 500

  24 |   it('should respond to 404 correctly', async () => {
  25 |     const res = await fetchViaHTTP(appPort, '/404')
> 26 |     expect(res.status).toBe(404)
     |                        ^
  27 |     expect(await res.text()).toContain('This page could not be found')
  28 |   })
  29 |

  at Object.<anonymous> (integration/404-page-custom-error/test/index.test.js:26:24)

● Default 404 Page with custom _error › dev mode › should render error correctly

expect(received).toContain(expected) // indexOf

Expected substring: "oops"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  30 |   it('should render error correctly', async () => {
  31 |     const text = await renderViaHTTP(appPort, '/err')
> 32 |     expect(text).toContain(isDev ? 'oops' : 'Internal Server Error')
     |                  ^
  33 |   })
  34 |
  35 |   it('should render index page normal', async () => {

  at Object.<anonymous> (integration/404-page-custom-error/test/index.test.js:32:18)

● Default 404 Page with custom _error › dev mode › should render index page normal

expect(received).toContain(expected) // indexOf

Expected substring: "hello from index"
Received string:    "Execution of get_from_source failed·
Caused by:
    0: Execution of resolve_source_request failed
    1: Execution of CombinedContentSource::get failed
    2: Execution of create_app_source failed
    3: Execution of load_next_config failed
    4: Execution of evaluate failed
    5: Execution of get_evaluate_pool failed
    6: Execution of turbo_tasks::completion::CompletionsVc::all failed
    7: Execution of turbopack_core::asset::AssetContentVc::write failed
    8: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::content failed
    9: Execution of turbopack_ecmascript::chunk::EcmascriptChunkContentVc::code failed
   10: Execution of content_from_relative_path failed
   11: failed to canonicalize embedded file path
   12: No such file or directory (os error 2)"

  35 |   it('should render index page normal', async () => {
  36 |     const html = await renderViaHTTP(appPort, '/')
> 37 |     expect(html).toContain('hello from index')
     |                  ^
  38 |   })
  39 |
  40 |   if (!isDev) {

  at Object.<anonymous> (integration/404-page-custom-error/test/index.test.js:37:18)

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2023

Benchmark for 95dd6dc

Click to view benchmark
Test Base PR % Significant %
bench_hmr_to_commit/Turbopack CSR/1000 modules 9101.53µs ± 73.06µs 9211.49µs ± 53.41µs +1.21%
bench_hmr_to_commit/Turbopack RCC/1000 modules 9486.90µs ± 87.12µs 9548.12µs ± 59.23µs +0.65%
bench_hmr_to_commit/Turbopack RSC/1000 modules 492.92ms ± 2.47ms 488.33ms ± 2.75ms -0.93%
bench_hmr_to_commit/Turbopack SSR/1000 modules 9370.69µs ± 67.98µs 9429.64µs ± 76.75µs +0.63%
bench_hmr_to_eval/Turbopack CSR/1000 modules 8244.94µs ± 49.06µs 8570.39µs ± 444.56µs +3.95%
bench_hmr_to_eval/Turbopack RCC/1000 modules 8486.36µs ± 84.51µs 8524.56µs ± 53.65µs +0.45%
bench_hmr_to_eval/Turbopack SSR/1000 modules 8493.36µs ± 73.20µs 8443.20µs ± 124.21µs -0.59%
bench_hydration/Turbopack RCC/1000 modules 3733.41ms ± 13.81ms 3743.46ms ± 7.93ms +0.27%
bench_hydration/Turbopack RSC/1000 modules 3275.11ms ± 16.33ms 3315.42ms ± 9.18ms +1.23%
bench_hydration/Turbopack SSR/1000 modules 3066.33ms ± 15.59ms 3058.15ms ± 7.73ms -0.27%
bench_startup/Turbopack CSR/1000 modules 2051.15ms ± 12.62ms 2072.87ms ± 17.28ms +1.06%
bench_startup/Turbopack RCC/1000 modules 2482.45ms ± 8.99ms 2474.95ms ± 7.94ms -0.30%
bench_startup/Turbopack RSC/1000 modules 2401.19ms ± 5.10ms 2400.57ms ± 6.46ms -0.03%
bench_startup/Turbopack SSR/1000 modules 2033.25ms ± 4.73ms 2038.77ms ± 5.63ms +0.27%

@mehulkar mehulkar removed their request for review February 2, 2023 01:40
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2023

⚠️ CI failed ⚠️

The following steps have failed in CI:

  • Turbopack Rust tests

See workflow summary for details

Base automatically changed from format-passed-count to main February 3, 2023 10:23
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2023

Benchmark for a4558ac

Click to view benchmark
Test Base PR % Significant %
bench_hmr_to_commit/Turbopack CSR/1000 modules 9119.17µs ± 108.11µs 9170.97µs ± 60.62µs +0.57%
bench_hmr_to_commit/Turbopack RCC/1000 modules 9374.95µs ± 70.36µs 9412.30µs ± 63.79µs +0.40%
bench_hmr_to_commit/Turbopack RSC/1000 modules 490.49ms ± 1.68ms 484.39ms ± 2.08ms -1.24%
bench_hmr_to_commit/Turbopack SSR/1000 modules 9359.16µs ± 77.29µs 9297.36µs ± 79.37µs -0.66%
bench_hmr_to_eval/Turbopack CSR/1000 modules 8187.29µs ± 44.83µs 8209.35µs ± 59.20µs +0.27%
bench_hmr_to_eval/Turbopack RCC/1000 modules 8374.22µs ± 83.68µs 8427.13µs ± 72.40µs +0.63%
bench_hmr_to_eval/Turbopack SSR/1000 modules 8236.68µs ± 59.49µs 8323.53µs ± 79.80µs +1.05%
bench_hydration/Turbopack RCC/1000 modules 4185.66ms ± 8.71ms 4189.96ms ± 6.88ms +0.10%
bench_hydration/Turbopack RSC/1000 modules 3763.00ms ± 12.46ms 3787.42ms ± 22.10ms +0.65%
bench_hydration/Turbopack SSR/1000 modules 3603.84ms ± 15.14ms 3624.40ms ± 7.67ms +0.57%
bench_startup/Turbopack CSR/1000 modules 2760.03ms ± 8.85ms 2762.25ms ± 6.05ms +0.08%
bench_startup/Turbopack RCC/1000 modules 2545.60ms ± 5.89ms 2545.49ms ± 4.48ms -0.00%
bench_startup/Turbopack RSC/1000 modules 2444.17ms ± 9.60ms 2440.35ms ± 10.04ms -0.16%
bench_startup/Turbopack SSR/1000 modules 2035.22ms ± 2.12ms 2033.44ms ± 1.83ms -0.09%

@wbinnssmith wbinnssmith merged commit cfd3ded into main Feb 3, 2023
@wbinnssmith wbinnssmith deleted the wbinnssmith/update-slack branch February 3, 2023 22:12
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.

None yet

2 participants