-
-
Notifications
You must be signed in to change notification settings - Fork 381
test: rewrite to e2e #2370
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
Open
bjohansebas
wants to merge
48
commits into
hot-middleware
Choose a base branch
from
hot-e2e-tests
base: hot-middleware
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
test: rewrite to e2e #2370
Changes from all commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
fbb2400
test: adopt a hybrid unit + browser e2e model, shard CI, and snapshot…
bjohansebas 711f0ef
test(e2e): snapshot the logging=log module detail and drop the covere…
bjohansebas 969ec3f
test(e2e): move the reconnection tests to the browser and snapshot th…
bjohansebas b133e33
test(e2e): exercise the indicator's shared state with two real bundle…
bjohansebas c22ccda
test(e2e): cover the client option surface in the browser and slim th…
bjohansebas a7a52bc
test(e2e): assert the multi-bundle problem union in the browser
bjohansebas b01db52
test(e2e): collapse the rebuilding path in console snapshots
bjohansebas 0a5c6e5
test(e2e): isolate the indicator shared-state tests from the hot client
bjohansebas cb7592d
test: drop a stray build artifact committed into fixtures
bjohansebas 413541b
test: let test:only take file arguments without losing the e2e exclusion
bjohansebas a525f05
test(e2e): exercise the overlay's shared state with two real bundled …
bjohansebas 0fef0a2
test(e2e): dismiss the overlay with real clicks
bjohansebas 847721e
chore: gitignore the js3 fixture output
bjohansebas b8d7747
test(e2e): accumulate runtime errors in the browser and settle on web…
bjohansebas 04968c2
fix(client): replace webpack's logging runtime with a self-contained …
bjohansebas bb135d3
test(e2e): enforce the Trusted Types CSP for real
bjohansebas 3e86c54
fix(client): keep HMR alive when Trusted Types blocks the logging run…
bjohansebas 1f591f5
test: prove SSE broadcast with two real pages and a mid-connection pu…
bjohansebas 742c60e
test(e2e): poll app text on an interval so hidden pages resolve
bjohansebas e1b9eca
test(e2e): drive instance.invalidate() and instance.close() against a…
bjohansebas 17a475c
test(e2e): keyboard pagination, paginate=false, and the cross-copy ru…
bjohansebas 69b00b1
test: drop two overlay unit tests the e2e suite already covers
bjohansebas 76e9b0f
test(e2e): cover pagination clamping and page retention, drop the jsd…
bjohansebas eaff5d2
test: drop two more overlay unit tests the e2e suite covers
bjohansebas 3ff5d95
test: assert the dismiss hint where it is acted on
bjohansebas e29bef1
test(e2e): assert linkification on real error messages
bjohansebas 6a7670a
test: drop the hot unit tests the browser suites already prove
bjohansebas 6d89ed4
test(e2e): snapshot the console wherever it is asserted
bjohansebas 2e0fb14
test(e2e): problem-type transitions, runtimeErrors=false, warning upd…
bjohansebas 25d5dc5
test(e2e): read the SSE protocol raw off a real server
bjohansebas 60432e2
test(e2e): make the warning-dedup sequence independent of the catch-u…
bjohansebas d9614bb
test(e2e): adopt webpack-dev-server's 400s test cap for cold CI runners
bjohansebas 68d8e29
test(e2e): share the waits, fixtures, and teardown across the browser…
bjohansebas 2904197
test(e2e): click the backdrop by raw mouse coordinates
bjohansebas 309d187
test(e2e): open the clicked file reference through a real endpoint
bjohansebas 13c7722
test(e2e): feed the client real heartbeats and a malformed frame
bjohansebas ca99266
test(e2e): finish the client migration — runtime public path and no-E…
bjohansebas 443decb
test(e2e): pin only the first three connects of the watchdog cycle
bjohansebas c624688
test(e2e): process the update paths against the real HMR runtime
bjohansebas 1d41b29
test(e2e): click frames through DOM-domain coordinates
bjohansebas 13218bd
test(e2e): the pre-lock catch-up race and the missing-update-chunk path
bjohansebas 7917f70
test: drop the last process-update unit
bjohansebas da0e720
test(e2e): the React-boundary heuristic and the runtime slot reset, f…
bjohansebas 434e51b
test(e2e): assert the badge and file-path rendering on real errors
bjohansebas 8f13db3
test(e2e): retire the last jsdom suite
bjohansebas d6167b3
ci: collect server-side coverage from the e2e phase
bjohansebas 3863108
test(e2e): let the watcher settle before frame-level assertions
bjohansebas 37cc3ff
perf(client): use a Set for renewed module ids in logUpdates (#2375)
bjohansebas File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,3 +19,5 @@ Thumbs.db | |
| *.sublime-project | ||
| *.sublime-workspace | ||
| yarn.lock | ||
| /test/fixtures/js3 | ||
| /coverage-e2e | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -145,6 +145,7 @@ function createEventSourceWrapper() { | |
| let timer; | ||
| /** @type {ReturnType<typeof setTimeout>} */ | ||
| let reconnectTimer; | ||
| let closed = false; | ||
|
|
||
| const handleOnline = () => { | ||
| log.info("connected"); | ||
|
|
@@ -162,18 +163,30 @@ function createEventSourceWrapper() { | |
| }; | ||
|
|
||
| /** | ||
| * Close the connection and stop the activity timer without scheduling a | ||
| * reconnection. A reconnection that is already pending is cancelled too, so | ||
| * closing during the reconnect window really is final. | ||
| * Tear the current connection down without deciding whether it is final. | ||
| */ | ||
| const close = () => { | ||
| const stop = () => { | ||
| clearInterval(timer); | ||
| clearTimeout(reconnectTimer); | ||
| source.close(); | ||
| }; | ||
|
|
||
| /** | ||
| * Close for good: no reconnection is scheduled, a pending one is cancelled, | ||
| * and error events already queued behind the close (the EventSource fires | ||
| * one when its connection dies) can no longer resurrect the wrapper. | ||
| */ | ||
| const close = () => { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. is this double check really needed? whats the condition this will fail using only stop once? |
||
| closed = true; | ||
| stop(); | ||
| }; | ||
|
|
||
| const handleDisconnect = () => { | ||
| close(); | ||
| if (closed) { | ||
| return; | ||
| } | ||
|
|
||
| stop(); | ||
| reconnectTimer = setTimeout(init, /** @type {number} */ (options.timeout)); | ||
| }; | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Coverage upload skipped on test failures
Low Severity
upload-coveragedepends ontestwith noif: always()(or equivalent). If any matrix shard fails, the coverage job is skipped entirely, so Codecov gets nothing for that run. Previously each test job submitted coverage on its own, so partial results still reached Codecov.Reviewed by Cursor Bugbot for commit 37cc3ff. Configure here.