879 Commits

Author SHA1 Message Date
Dmitry Zakharov
5464ad849e
fix(test-runner): handle negated toMatchSnapshot result (#7345) 2021-07-07 18:51:38 -07:00
Dmitry Gozman
2073193c36
fix(test runner): keep track of remaining tests on the runner side (#7486)
This fixes two issues:
- Sudden worker process exit is properly accounted for.
- We can stop() workers willy-nilly, e.g. after reaching maxFailures.

Details:
- DonePayload does not send `reamining` anymore, and worker does not track it.
- Instead, `Dispatcher._runJob` track remaining tests and acts accordingly.
- Upon worker exit, we emulate a fatal error for all remaining tests.

Drive-by:
- Do not report onTestBegin after reaching maxFailures to avoid confusion.
  Before, we did report onTestBegin, but not onTestEnd.
- List reporter aligned between "running" and "finished" state - it was
  one character misplaced.
- Added a SIGINT test.
2021-07-07 12:04:43 -07:00
Max Schmitt
98bcf26656
feat(test-runner): add webServer (#7368) 2021-07-07 20:19:42 +02:00
Max Schmitt
371aa3dab2
feat: add browser.newContext({ baseUrl }) (#7409) 2021-07-06 21:16:37 +02:00
Max Schmitt
b846ddda04
feat(download): introduce Download.cancel (#7462) 2021-07-06 09:38:50 +02:00
Yury Semikhatsky
02ff213d4d
feat(webkit): intercepted response body (#7229) 2021-07-05 00:27:14 -07:00
Pavel Feldman
f40611306e
test: add modernizr gtk/wpe diff (#7454) 2021-07-03 22:45:28 -07:00
Pavel Feldman
41a63a8825
test: add failing modernizr detection tests (#7453) 2021-07-03 19:18:21 -07:00
Pavel Feldman
f52a53e21e
feat(trace-viewer): add nicer params rendering (#7448) 2021-07-02 16:45:09 -07:00
Dmitry Gozman
444d1eb51a
feat(test runner): run modifier functions once if they do not depend on test fixtures (#7436) 2021-07-02 15:49:05 -07:00
Pavel Feldman
99d7d196c5
feat(trace-viewer): render call info w/ params, result (#7438) 2021-07-02 14:33:38 -07:00
Andrey Lushnikov
ec8d0629f3
feat: support msedge-beta channel (#7442)
Fixes #7232
2021-07-02 12:55:46 -07:00
Pavel Feldman
82b21e912e
feat(trace-viewer): add error links to actions (#7434) 2021-07-01 20:46:56 -07:00
Pavel Feldman
b9b0faf120
feat(trace-viewer): render console messages (#7418) 2021-07-01 14:31:20 -07:00
Pavel Feldman
b9d3cccac0
test(pageError): add a failing FF test for page error (#7417) 2021-07-01 13:23:23 -07:00
Max Schmitt
027fc4c0b4
chore: hide request interception for 1.13 (#7425) 2021-07-01 18:33:47 +02:00
Pavel Feldman
f43b4efbc9
fix(trace-viewer): include waitFor* in trace viewer (#7413) 2021-06-30 17:56:48 -07:00
Pavel Feldman
e9246089d5
test(trace-viewer): start adding tests (#7393) 2021-06-29 22:35:50 -07:00
Dmitry Gozman
fc0b8ad3f0
fix(tracing): record scroll position for all scrolled elements (#7388) 2021-06-29 16:20:15 -07:00
Joel Einbinder
7629587914
fix(test-runner): work with .mjs files (#7373) 2021-06-29 15:28:41 -07:00
Dmitry Gozman
6b3614fd4c
feat(test runner): support test.setTimeout for the whole block (#7387)
This enables `test.setTimeout()` outside of the test body, that
affects all tests in the block (either file or describe).
2021-06-29 13:33:13 -07:00
Joel Einbinder
368880962f
fix(test-runner): better test match glob (#7382) 2021-06-29 11:49:50 -07:00
Dmitry Gozman
6aefa02e91
feat(test runner): improve reporters api (#7370)
- onEnd may return a Promise
- onEnd now takes a result for the full run
- onTimeout is replaced with onEnd(result)
2021-06-29 10:55:46 -07:00
Dmitry Gozman
530523cb67
feat(setInputFiles): support label retargeting (#7364)
This way `page.setInputFiles('label')` works, similarly to other input actions.
2021-06-28 14:18:01 -07:00
Pavel Feldman
a8d48a1a48
chore: remove hard-coded wrapApi names (#7347) 2021-06-28 13:27:38 -07:00
Max Schmitt
0776cf76a2
feat(test-runner): do only allow unique spec titles per suite (#7300) 2021-06-28 22:13:35 +02:00
Max Schmitt
9f9201420a
fix(websockets): filter for text and binary frames (#7360) 2021-06-28 21:23:29 +02:00
Ronie Martinez
409aeaa443
feat(codegen): Add type annotations to Python output and make PEP8-compliant (#7337) 2021-06-26 13:11:32 -07:00
Pavel Feldman
02538fb587
fix(trace): account for last child node removal (#7332) 2021-06-25 18:52:36 -07:00
Pavel Feldman
ec47b03722
fix(trace): show interrupted actions in trace (#7329) 2021-06-25 17:14:19 -07:00
Max Schmitt
701624c484
chore: roll playwright-test to 1.13.0-next-1624575246000 (#7291) 2021-06-25 22:53:14 +02:00
Max Schmitt
4c6deaa449
test: added tests for WebSocket over Socks proxy (#7235) 2021-06-24 18:50:16 +02:00
Max Schmitt
bd86e70465
feat(test-runner): allow to focus a test in a location (#7208) 2021-06-24 10:02:34 +02:00
Pavel Feldman
5732307280
feat(inputValue): implement *.inputValue() (#7285) 2021-06-23 22:19:20 -07:00
Max Schmitt
b3cc683e6b
chore hide Download._cancel (#7282) 2021-06-23 23:20:36 +02:00
Dmitry Gozman
4c6fa42810
fix(test runner): expose real stack traces and speed up locations (#7265)
Stop wrapping/prepending error messages so that we do not loose the stack trace. For this, update a few manually thrown errors with better messages (usually including a file path).

Speed up locations by doing manual `sourceMapSupport.wrapCallSite()` for a single call site. Performance gain in the runner process with 100 files x 100 tests each:
- 25% on the fresh run without babel cache;
- 80% on the cached run where babel is almost instant.

Also some obvious cleanups around stack traces (removing unused code).
2021-06-23 10:30:54 -07:00
Max Schmitt
103f8ddd06
Revert "chore: update eslint config (#6840)" partly (#7268)
This reverts commit ec7d37d92f4b6b75039d2343414237d2dbc84847.
2021-06-23 11:08:35 +02:00
Max Schmitt
7b6e9b9be9
test: skip some failing req interception tests for current Chrome stable (#7255)
Some tests are currently failing Chrome/Edge stable and Electron:

- page/page-request-intercept.spec.ts:60:1 › [chromium] should support fulfill after intercept
- page/page-request-intercept.spec.ts:73:1 › [chromium] should support request overrides

Was introduced in #7122. This change should give us again full green bots.
2021-06-23 01:47:28 -07:00
Max Schmitt
99bbc51760
fix(test-runner): support ANSII terminals with list reporter (#7258) 2021-06-22 19:04:24 +02:00
Dmitry Gozman
6118d16edd
fix(test runner): properly keep track of requireFile to support helpers/wrappers (#7243)
This fixes an issue where we incorrectly labeled and assigned ids for tests
that declared tests in require'd files or used test wrappers.
See new tests for examples.
2021-06-21 11:25:15 -07:00
Max Schmitt
590184998f
chore: improve connectOverCDP error handling (#7239) 2021-06-21 19:57:00 +02:00
Pavel Feldman
ea4eebeb2d
feat(test-runner): document tagging, implement grep-invert (#7227) 2021-06-18 17:56:59 -07:00
Yury Semikhatsky
c0cd2d4579
feat: response interception (#7122) 2021-06-18 11:04:48 -07:00
Dmitry Gozman
388c6f5196
feature(test runner): capture error and pending calls when timing out (#7193) 2021-06-17 15:09:38 -07:00
Ross Wollman
219e5138be
feat(response): expose connection details in API (#7150) 2021-06-17 13:04:55 -07:00
Joel Einbinder
10a82f862c
fix(snapshotter): support constructed CSSStyleSheet
Fixes #7085
2021-06-17 09:41:29 -07:00
Pavel Feldman
82a50b0e1d
fix(test-runner): property handle artifacts in context of preserveOutput (#7181) 2021-06-16 16:05:30 -07:00
Pavel Feldman
184f2c2e93
feat(test-runner): allow specifying video size (#7158) 2021-06-16 07:51:54 -07:00
Andrey Lushnikov
34d151a1f9
devops: introduce Docker tests (#7157)
Fixes #7139
2021-06-15 23:59:20 -07:00
Joel Einbinder
38e27c9c6c
fix(test-runner): case insensitive test filtering 2021-06-15 17:27:52 -07:00