这是indexloc提供的服务,不要输入任何密码
Skip to content

ci(actions): skip unparseable tree #3584

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

Merged
merged 1 commit into from
Feb 1, 2023
Merged

ci(actions): skip unparseable tree #3584

merged 1 commit into from
Feb 1, 2023

Conversation

kwonoj
Copy link
Contributor

@kwonoj kwonoj commented Feb 1, 2023

Minor null check fix.

@kwonoj kwonoj requested review from a team as code owners February 1, 2023 20:06
@vercel
Copy link

vercel bot commented Feb 1, 2023

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

Name Status Preview Comments Updated
examples-kitchensink-blog 🔄 Building (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-tailwind-web 🔄 Building (Inspect) Feb 1, 2023 at 8:06PM (UTC)
turbo-site ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Feb 1, 2023 at 8:06PM (UTC)
7 Ignored Deployments
Name Status Preview Comments Updated
examples-basic-web ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-cra-web ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-designsystem-docs ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-native-web ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-nonmonorepo ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-svelte-web ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)
examples-vite-web ⬜️ Ignored (Inspect) Feb 1, 2023 at 8:06PM (UTC)

@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2023

Failing next.js integration test suites

Commit: 30769c7

Test summary

Current (30769c7) Diff
Failed Suites 12 N/A
Failed Cases 45 N/A
Full test report

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

  • ReactRefresh > can edit a component without losing state
  • ReactRefresh > cyclic dependencies
Expand output

● ReactRefresh › can edit a component without losing state

Application is in inconsistent state: timeout.

  82 |           }
  83 |           if (status !== 'pending') {
> 84 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  85 |           }
  86 |
  87 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance/helpers.ts:84:19)
  at Object.<anonymous> (development/acceptance/ReactRefresh.test.ts:20:5)

● ReactRefresh › cyclic dependencies

Application is in inconsistent state: timeout.

  82 |           }
  83 |           if (status !== 'pending') {
> 84 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  85 |           }
  86 |
  87 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance/helpers.ts:84:19)
  at Object.<anonymous> (development/acceptance/ReactRefresh.test.ts:157:5)

test/e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts

  • {{name}} > should work using cheerio
  • {{name}} > should work using browser
  • {{name}} > should work with html
  • {{name}} > should work with fetch
Expand output

● {{name}} › should work using cheerio

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

Expected: "hello world"
Received: ""

  10 |     it('should work using cheerio', async () => {
  11 |       const $ = await next.render$('/')
> 12 |       expect($('p').text()).toBe('hello world')
     |                             ^
  13 |     })
  14 |
  15 |     // Recommended for tests that need a full browser

  at Object.<anonymous> (e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts:12:29)

● {{name}} › should work using browser

page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator('p')
============================================================

  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

● {{name}} › should work with html

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

Expected substring: "hello world"
Received string:    "failed to canonicalize embedded file path·
Caused by:
    No such file or directory (os error 2)"

  22 |     it('should work with html', async () => {
  23 |       const html = await next.render('/')
> 24 |       expect(html).toContain('hello world')
     |                    ^
  25 |     })
  26 |
  27 |     // In case you need to test the response object

  at Object.<anonymous> (e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts:24:20)

● {{name}} › should work with fetch

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

Expected substring: "hello world"
Received string:    "failed to canonicalize embedded file path·
Caused by:
    No such file or directory (os error 2)"

  29 |       const res = await next.fetch('/')
  30 |       const html = await res.text()
> 31 |       expect(html).toContain('hello world')
     |                    ^
  32 |     })
  33 |   }
  34 | )

  at Object.<anonymous> (e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts:31:20)

test/integration/404-page-app/test/index.test.js

  • 404 Page Support with _app > dev mode > should not show pages/404 GIP error if _app has GIP
Expand output

● 404 Page Support with _app › dev mode › should not show pages/404 GIP error if _app has GIP

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

Expected: 404
Received: 500

  79 |     it('should not show pages/404 GIP error if _app has GIP', async () => {
  80 |       const res = await fetchViaHTTP(appPort, '/abc')
> 81 |       expect(res.status).toBe(404)
     |                          ^
  82 |       const $ = cheerio.load(await res.text())
  83 |       expect($('#404-title').text()).toBe('Hi There')
  84 |       expect(stderr).not.toMatch(gip404Err)

  at Object.<anonymous> (integration/404-page-app/test/index.test.js:81:26)

test/development/acceptance/server-component-compiler-errors-in-pages.test.ts

  • Error Overlay for server components compiler errors in pages > importing 'next/headers' in pages
  • Error Overlay for server components compiler errors in pages > importing 'server-only' in pages
  • Error Overlay for server components compiler errors in pages > "use client" at the bottom of the page
  • Error Overlay for server components compiler errors in pages > "use client" with parentheses
Expand output

● Error Overlay for server components compiler errors in pages › importing 'next/headers' in pages

Application is in inconsistent state: timeout.

  82 |           }
  83 |           if (status !== 'pending') {
> 84 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  85 |           }
  86 |
  87 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance/helpers.ts:84:19)
  at Object.<anonymous> (development/acceptance/server-component-compiler-errors-in-pages.test.ts:35:7)

● Error Overlay for server components compiler errors in pages › importing 'server-only' in pages

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

Expected: true
Received: false

  86 |       )
  87 |
> 88 |       expect(await session.hasRedbox(true)).toBe(true)
     |                                             ^
  89 |       await check(
  90 |         () => session.getRedboxSource(),
  91 |         /That only works in a Server Component/

  at Object.<anonymous> (development/acceptance/server-component-compiler-errors-in-pages.test.ts:88:45)

● Error Overlay for server components compiler errors in pages › "use client" at the bottom of the page

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

Expected: true
Received: false

  127 |       )
  128 |
> 129 |       expect(await session.hasRedbox(true)).toBe(true)
      |                                             ^
  130 |       await check(
  131 |         () => session.getRedboxSource(),
  132 |         /which is not supported in the pages/

  at Object.<anonymous> (development/acceptance/server-component-compiler-errors-in-pages.test.ts:129:45)

● Error Overlay for server components compiler errors in pages › "use client" with parentheses

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

Expected: true
Received: false

  168 |       )
  169 |
> 170 |       expect(await session.hasRedbox(true)).toBe(true)
      |                                             ^
  171 |       await check(
  172 |         () => session.getRedboxSource(),
  173 |         /which is not supported in the pages/

  at Object.<anonymous> (development/acceptance/server-component-compiler-errors-in-pages.test.ts:170:45)

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:    "failed to canonicalize embedded file path·
Caused by:
    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:    "failed to canonicalize embedded file path·
Caused by:
    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:    "failed to canonicalize embedded file path·
Caused by:
    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

  • ReactRefresh > can edit a component without losing state
  • ReactRefresh > cyclic dependencies
Expand output

● ReactRefresh › can edit a component without losing state

Application is in inconsistent state: timeout.

  82 |           }
  83 |           if (status !== 'pending') {
> 84 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  85 |           }
  86 |
  87 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance/helpers.ts:84:19)
  at Object.<anonymous> (development/acceptance/ReactRefresh.test.ts:20:5)

● ReactRefresh › cyclic dependencies

Application is in inconsistent state: timeout.

  82 |           }
  83 |           if (status !== 'pending') {
> 84 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  85 |           }
  86 |
  87 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance/helpers.ts:84:19)
  at Object.<anonymous> (development/acceptance/ReactRefresh.test.ts:157:5)

test/e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts

  • {{name}} > should work using cheerio
  • {{name}} > should work using browser
  • {{name}} > should work with html
  • {{name}} > should work with fetch
Expand output

● {{name}} › should work using cheerio

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

Expected: "hello world"
Received: ""

  10 |     it('should work using cheerio', async () => {
  11 |       const $ = await next.render$('/')
> 12 |       expect($('p').text()).toBe('hello world')
     |                             ^
  13 |     })
  14 |
  15 |     // Recommended for tests that need a full browser

  at Object.<anonymous> (e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts:12:29)

● {{name}} › should work using browser

page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator('p')
============================================================

  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

● {{name}} › should work with html

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

Expected substring: "hello world"
Received string:    "failed to canonicalize embedded file path·
Caused by:
    No such file or directory (os error 2)"

  22 |     it('should work with html', async () => {
  23 |       const html = await next.render('/')
> 24 |       expect(html).toContain('hello world')
     |                    ^
  25 |     })
  26 |
  27 |     // In case you need to test the response object

  at Object.<anonymous> (e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts:24:20)

● {{name}} › should work with fetch

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

Expected substring: "hello world"
Received string:    "failed to canonicalize embedded file path·
Caused by:
    No such file or directory (os error 2)"

  29 |       const res = await next.fetch('/')
  30 |       const html = await res.text()
> 31 |       expect(html).toContain('hello world')
     |                    ^
  32 |     })
  33 |   }
  34 | )

  at Object.<anonymous> (e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts:31:20)

test/integration/404-page-app/test/index.test.js

  • 404 Page Support with _app > dev mode > should not show pages/404 GIP error if _app has GIP
Expand output

● 404 Page Support with _app › dev mode › should not show pages/404 GIP error if _app has GIP

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

Expected: 404
Received: 500

  79 |     it('should not show pages/404 GIP error if _app has GIP', async () => {
  80 |       const res = await fetchViaHTTP(appPort, '/abc')
> 81 |       expect(res.status).toBe(404)
     |                          ^
  82 |       const $ = cheerio.load(await res.text())
  83 |       expect($('#404-title').text()).toBe('Hi There')
  84 |       expect(stderr).not.toMatch(gip404Err)

  at Object.<anonymous> (integration/404-page-app/test/index.test.js:81:26)

test/development/acceptance/server-component-compiler-errors-in-pages.test.ts

  • Error recovery app turbo > Error recovery with overlay > can recover from a syntax error without losing state
  • Error recovery app turbo > Error recovery with overlay > client component can recover from syntax error
  • Error recovery app turbo > Error recovery with overlay > server component can recover from syntax error
  • Error recovery app turbo > Error recovery with overlay > can recover from a event handler error
  • Error recovery app turbo > Error recovery with overlay > client component can recover from a component error
  • Error recovery app turbo > Error recovery with overlay > server component can recover from a component error
  • Error recovery app turbo > Error recovery with overlay > syntax > runtime error
  • Error recovery app turbo > Error recovery with overlay > stuck error
  • Error recovery app turbo > Error recovery with overlay > render error not shown right after syntax error
Expand output

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

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at Object.<anonymous> (development/acceptance-app/error-recovery.test.ts:25:11)

● Error recovery app turbo › Error recovery with overlay › client component can recover from syntax error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at development/acceptance-app/error-recovery.test.ts:96:13

● Error recovery app turbo › Error recovery with overlay › server component can recover from syntax error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at development/acceptance-app/error-recovery.test.ts:96:13

● Error recovery app turbo › Error recovery with overlay › can recover from a event handler error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at Object.<anonymous> (development/acceptance-app/error-recovery.test.ts:123:11)

● Error recovery app turbo › Error recovery with overlay › client component can recover from a component error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at development/acceptance-app/error-recovery.test.ts:226:13

● Error recovery app turbo › Error recovery with overlay › server component can recover from a component error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at development/acceptance-app/error-recovery.test.ts:226:13

● Error recovery app turbo › Error recovery with overlay › syntax > runtime error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at Object.<anonymous> (development/acceptance-app/error-recovery.test.ts:286:11)

● Error recovery app turbo › Error recovery with overlay › stuck error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at Object.<anonymous> (development/acceptance-app/error-recovery.test.ts:352:11)

● Error recovery app turbo › Error recovery with overlay › render error not shown right after syntax error

Application is in inconsistent state: timeout.

  76 |           }
  77 |           if (status !== 'pending') {
> 78 |             throw new Error(`Application is in inconsistent state: ${status}.`)
     |                   ^
  79 |           }
  80 |
  81 |           await new Promise((resolve) => setTimeout(resolve, 30))

  at Object.patch (development/acceptance-app/helpers.ts:78:19)
  at Object.<anonymous> (development/acceptance-app/error-recovery.test.ts:417:11)

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:    "failed to canonicalize embedded file path·
Caused by:
    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:    "failed to canonicalize embedded file path·
Caused by:
    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:    "failed to canonicalize embedded file path·
Caused by:
    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)

@kwonoj kwonoj merged commit b8cbf28 into main Feb 1, 2023
@kwonoj kwonoj deleted the fix-tree-parse-fail branch February 1, 2023 20:30
@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2023

Benchmark for 30769c7

Test Base PR % Significant %
bench_startup/Turbopack RCC/1000 modules 2447.33ms ± 5.59ms 2418.99ms ± 4.12ms -1.16% -0.37%
bench_startup/Turbopack RSC/1000 modules 2315.09ms ± 5.48ms 2341.81ms ± 6.45ms +1.15% +0.12%
Click to view full benchmark
Test Base PR % Significant %
bench_hmr_to_commit/Turbopack CSR/1000 modules 8862.61µs ± 45.17µs 8864.10µs ± 83.04µs +0.02%
bench_hmr_to_commit/Turbopack RCC/1000 modules 9181.14µs ± 66.15µs 9210.88µs ± 93.05µs +0.32%
bench_hmr_to_commit/Turbopack RSC/1000 modules 466.86ms ± 1.76ms 466.92ms ± 1.77ms +0.01%
bench_hmr_to_commit/Turbopack SSR/1000 modules 9173.54µs ± 98.52µs 9117.49µs ± 69.92µs -0.61%
bench_hmr_to_eval/Turbopack CSR/1000 modules 7899.63µs ± 39.37µs 7982.54µs ± 82.53µs +1.05%
bench_hmr_to_eval/Turbopack RCC/1000 modules 8162.06µs ± 70.64µs 8199.19µs ± 75.27µs +0.45%
bench_hmr_to_eval/Turbopack SSR/1000 modules 8153.51µs ± 96.38µs 8162.41µs ± 88.36µs +0.11%
bench_hydration/Turbopack RCC/1000 modules 3656.11ms ± 11.60ms 3656.52ms ± 8.85ms +0.01%
bench_hydration/Turbopack RSC/1000 modules 3191.53ms ± 11.30ms 3190.71ms ± 11.23ms -0.03%
bench_hydration/Turbopack SSR/1000 modules 2979.58ms ± 9.29ms 2962.69ms ± 10.81ms -0.57%
bench_startup/Turbopack CSR/1000 modules 2002.65ms ± 10.34ms 2007.92ms ± 11.68ms +0.26%
bench_startup/Turbopack RCC/1000 modules 2447.33ms ± 5.59ms 2418.99ms ± 4.12ms -1.16% -0.37%
bench_startup/Turbopack RSC/1000 modules 2315.09ms ± 5.48ms 2341.81ms ± 6.45ms +1.15% +0.12%
bench_startup/Turbopack SSR/1000 modules 1979.17ms ± 3.63ms 1984.69ms ± 2.82ms +0.28%

@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2023

⚠️ CI failed ⚠️

The following steps have failed in CI:

  • Go E2E
  • Turbopack Rust tests

See workflow summary for details

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.

2 participants