Skip to content

Commit 3403955

Browse files
authored
[test] Use unique error messages in server-source-maps (#79108)
Allows unambigious assertions on CLI output. Not that interesting for dev but `next build` will have the logs for all pages in all tests. I also made the pages static where possible so that we'll be able to assert on the logged errors during `next build`.
1 parent b08c5a3 commit 3403955

File tree

14 files changed

+125
-131
lines changed

14 files changed

+125
-131
lines changed

test/e2e/app-dir/server-source-maps/fixtures/default/app/bad-sourcemap/page.js

+2-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/e2e/app-dir/server-source-maps/fixtures/default/app/bad-sourcemap/page.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/e2e/app-dir/server-source-maps/fixtures/default/app/rsc-error-log-cause/page.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
import { connection } from 'next/server'
2-
31
function logError(cause) {
4-
const error = new Error('Boom', { cause })
2+
const error = new Error('rsc-error-log-cause', { cause })
53
console.error(error)
64
}
75

8-
export default async function Page() {
9-
await connection()
10-
6+
export default function Page() {
117
const error = new Error('Boom')
128
logError(error)
139
return null
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
import { connection } from 'next/server'
2-
31
class UnnamedError extends Error {}
42
class NamedError extends Error {
53
name = 'MyError'
64
}
75

8-
export default async function Page() {
9-
await connection()
10-
11-
console.error(new UnnamedError('Foo'))
12-
console.error(new NamedError('Bar'))
6+
export default function Page() {
7+
console.error(new UnnamedError('rsc-error-log-custom-name-Foo'))
8+
console.error(new NamedError('rsc-error-log-custom-name-Bar'))
139
return null
1410
}

test/e2e/app-dir/server-source-maps/fixtures/default/app/rsc-error-log-ignore-listed/page.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
import { connection } from 'next/server'
21
import { runInternal } from 'internal-pkg'
32
import { runInternalSourceMapped } from 'internal-pkg/sourcemapped'
43
import { runInternalIgnored } from 'internal-pkg/ignored'
54
import { runExternal } from 'external-pkg'
65
import { runExternalSourceMapped } from 'external-pkg/sourcemapped'
76

87
function logError() {
9-
const error = new Error('Boom')
8+
const error = new Error('rsc-error-log-ignore-listed')
109
console.error(error)
1110
}
1211

1312
export default async function Page() {
14-
await connection()
15-
1613
runInternal(function runWithInternal() {
1714
runInternalSourceMapped(function runWithInternalSourceMapped() {
1815
runExternal(function runWithExternal() {
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
import { someClass } from './styles.module.css'
2-
import { connection } from 'next/server'
32

43
function logError() {
5-
const error = new Error('Boom')
4+
const error = new Error('rsc-error-log')
65
console.error(error)
76
}
87

9-
export default async function Page() {
10-
await connection()
11-
8+
export default function Page() {
129
logError()
1310
return <p className={someClass}>Hello, Dave!</p>
1411
}

test/e2e/app-dir/server-source-maps/fixtures/default/app/ssr-error-log-ignore-listed/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { runExternal } from 'external-pkg'
66
import { runExternalSourceMapped } from 'external-pkg/sourcemapped'
77

88
function logError() {
9-
const error = new Error('Boom')
9+
const error = new Error('ssr-error-log-ignore-listed')
1010
console.error(error)
1111
}
1212

test/e2e/app-dir/server-source-maps/fixtures/default/app/ssr-throw/Thrower.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client'
22

33
function throwError() {
4-
throw new Error('Boom')
4+
throw new Error('ssr-throw')
55
}
66

77
export function Thrower() {

test/e2e/app-dir/server-source-maps/fixtures/default/bad-sourcemap/page.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22
// Then change the `sources` entry in the sourcemap to `["custom://[badhost]/app/bad-sourcemap/page.js"]`
33
// tsc compile errors can be ignored
44

5-
import { connection } from 'next/server'
6-
75
function logError() {
8-
console.error(new Error('Boom!'))
6+
console.error(new Error('bad-sourcemap'))
97
}
108

11-
export default async function Page() {
12-
await connection()
9+
export default function Page() {
1310
logError()
1411
return <p>Hello, Dave!</p>
1512
}

test/e2e/app-dir/server-source-maps/fixtures/edge/app/rsc-error-log/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function logError() {
2-
console.error(new Error('Boom'))
2+
console.error(new Error('rsc-error-log'))
33
}
44

55
export default function Page() {

test/e2e/app-dir/server-source-maps/fixtures/edge/app/rsc-throw/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function throwError() {
2-
throw new Error('Boom')
2+
throw new Error('rsc-throw')
33
}
44

55
export default function Page() {

test/e2e/app-dir/server-source-maps/fixtures/edge/app/ssr-throw/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client'
22

33
function throwError() {
4-
throw new Error('Boom')
4+
throw new Error('ssr-throw')
55
}
66

77
export default function Page() {

test/e2e/app-dir/server-source-maps/server-source-maps-edge.test.ts

+11-9
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,16 @@ describe('app-dir - server source maps edge runtime', () => {
2424

2525
if (isNextDev) {
2626
await retry(() => {
27-
expect(next.cliOutput.slice(outputIndex)).toContain('Error: Boom')
27+
expect(next.cliOutput.slice(outputIndex)).toContain(
28+
'Error: rsc-error-log'
29+
)
2830
})
2931
expect(normalizeCliOutput(next.cliOutput.slice(outputIndex))).toContain(
30-
'\nError: Boom' +
32+
'\nError: rsc-error-log' +
3133
'\n at logError (app/rsc-error-log/page.js:2:16)' +
3234
'\n at Page (app/rsc-error-log/page.js:6:2)' +
3335
'\n 1 | function logError() {' +
34-
"\n> 2 | console.error(new Error('Boom'))" +
36+
"\n> 2 | console.error(new Error('rsc-error-log'))" +
3537
'\n | ^' +
3638
'\n 3 | }' +
3739
'\n 4 |' +
@@ -50,17 +52,17 @@ describe('app-dir - server source maps edge runtime', () => {
5052

5153
if (isNextDev) {
5254
await retry(() => {
53-
expect(next.cliOutput.slice(outputIndex)).toContain('Error: Boom')
55+
expect(next.cliOutput.slice(outputIndex)).toContain('Error: ssr-throw')
5456
})
5557

5658
const cliOutput = stripAnsi(next.cliOutput.slice(outputIndex))
5759
expect(cliOutput).toContain(
58-
'\n ⨯ Error: Boom' +
60+
'\n ⨯ Error: ssr-throw' +
5961
'\n at throwError (app/ssr-throw/page.js:4:8)' +
6062
'\n at Page (app/ssr-throw/page.js:8:2)' +
6163
'\n 2 |' +
6264
'\n 3 | function throwError() {' +
63-
"\n> 4 | throw new Error('Boom')" +
65+
"\n> 4 | throw new Error('ssr-throw')" +
6466
'\n | ^' +
6567
'\n 5 | }' +
6668
'\n 6 |' +
@@ -79,16 +81,16 @@ describe('app-dir - server source maps edge runtime', () => {
7981

8082
if (isNextDev) {
8183
await retry(() => {
82-
expect(next.cliOutput.slice(outputIndex)).toMatch(/Error: Boom/)
84+
expect(next.cliOutput.slice(outputIndex)).toMatch(/Error: rsc-throw/)
8385
})
8486

8587
const cliOutput = stripAnsi(next.cliOutput.slice(outputIndex))
8688
expect(cliOutput).toContain(
87-
'\n ⨯ Error: Boom' +
89+
'\n ⨯ Error: rsc-throw' +
8890
'\n at throwError (app/rsc-throw/page.js:2:8)' +
8991
'\n at Page (app/rsc-throw/page.js:6:2)' +
9092
'\n 1 | function throwError() {' +
91-
"\n> 2 | throw new Error('Boom')" +
93+
"\n> 2 | throw new Error('rsc-throw')" +
9294
'\n | ^' +
9395
'\n 3 | }' +
9496
'\n 4 |' +

0 commit comments

Comments
 (0)