484 Commits

Author SHA1 Message Date
Pavel Feldman
ff16d7960c
fix(tsload): fix tsconfig inheritance resolution (#29766)
Fixes https://github.com/microsoft/playwright/issues/29731
2024-03-01 09:36:04 -08:00
Yury Semikhatsky
c08a4e72d1
chore: call testInfo.snapshotPath directly (#29755)
Reference https://github.com/microsoft/playwright/issues/29719
2024-02-29 16:59:39 -08:00
Pavel Feldman
99744d0683
chore: normalize telereceiver type imports (#29745) 2024-02-29 12:31:07 -08:00
Stevan Freeborn
52b803ecf5
feat(trace mode): add on-first-failure mode for traces (#29647)
Implements the changes suggested in #29531
2024-02-28 14:39:18 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting (#29669) 2024-02-26 16:52:28 -08:00
Yury Semikhatsky
01846b954d
chore: mark 1.43.0-next (#29670) 2024-02-26 16:45:25 -08:00
Pavel Feldman
7eb910a652
chore: enable eslint for js (#29639) 2024-02-26 09:39:21 -08:00
Pavel Feldman
6b5e273b6d
chore: reuse test server wire for reporter events (#29640) 2024-02-23 15:51:20 -08:00
Dmitry Gozman
8d9c67ac5d
chore(test runner): do not nest fixture setups inside each other, similar to teardown (#29619) 2024-02-23 14:47:13 -08:00
Pavel Feldman
a3aea813bc
chore: implement server-based list files (#29633) 2024-02-23 08:29:44 -08:00
Pavel Feldman
2ca45ff948
chore: use test server as a singleton (#29630) 2024-02-22 15:56:38 -08:00
Pavel Feldman
ee93136132
chore: streamline config loader (#29627) 2024-02-22 15:14:13 -08:00
Pavel Feldman
ac0787d0c8
chore: expose find related files over test server (#29604) 2024-02-22 13:37:24 -08:00
Pavel Feldman
82b17bdda1
chore: mark server-related fixture options as such (#29602) 2024-02-21 17:04:36 -08:00
Pavel Feldman
ba72f7e429
chore: an iteration on test server (#29589) 2024-02-21 09:27:48 -08:00
Pavel Feldman
a023cd1f57
fix(output): clear output before global setup (#29584) 2024-02-20 14:24:59 -08:00
Dmitry Gozman
f9aebda5db
fix(fixtures): attribute teardown step to the right TestInfo instance (#29523) 2024-02-20 12:35:43 -08:00
David
593feea166
fix: use addEventListener instead of onmessage in portTransport.ts (#29581) 2024-02-20 10:04:26 -08:00
Pavel Feldman
d573c515a3
chore: add test server stub (#29568) 2024-02-20 09:56:33 -08:00
Pavel Feldman
a99652b0d9
chore: remove clearCompilationCache, do not push cache it into loader… (#29548) 2024-02-19 10:21:05 -08:00
Dmitry Gozman
f414227ed8
chore(test runner): make FixturePool.registrations private (#29539)
This way everyone resolves through a public function instead of a map
lookup, which is sometimes wrong.
2024-02-16 20:29:33 -08:00
Yury Semikhatsky
f3fde992eb
chore: remove --project-grep, add wildcard support (#29537)
Reference #15128
2024-02-16 19:18:00 -08:00
Pavel Feldman
4f1d8cdd63
chore: hide test server related cli commands (#29532) 2024-02-16 14:32:44 -08:00
Dmitry Gozman
269a293ba1
chore(test runner): allow TestInfoImpl without a TestCase (#29534)
This will be useful to run `beforeAll`/`afterAll` hooks with a separate
`TestInfo` instance, as well as run use helpers like
`_runAndFailOnError()` during scope teardown.
2024-02-16 12:43:13 -08:00
Dmitry Gozman
dbf0b25146
chore(test runner): do not rely on zones for fixture steps (#29519) 2024-02-16 10:51:45 -08:00
Dmitry Gozman
dc9cddde95
chore: do not rely on zones for predefined steps (#29485)
This fixes some edge cases where fixtures and steps inside them were
attached to the wrong parent (see the new test).
This will also allow to replace some `runAsStep` calls with a flat list
of tasks to do that do not rely on lexical scope.
2024-02-15 12:49:08 -08:00
Dmitry Gozman
08afb34c14
chore(test runner): make timeout error an Error (#29515) 2024-02-15 11:38:13 -08:00
Dmitry Gozman
bd5403dcad
chore: remove --tag and tagFilter (#29468)
This makes new tags filtered by the `grep`. New `TestCase.tags` API now
includes both old and new tags.
2024-02-15 11:37:16 -08:00
Pavel Feldman
217c0618df
chore: rename find-related-tests to find-related-test-files (#29483) 2024-02-13 15:40:49 -08:00
Pavel Feldman
7aef5249d8
chore: pass the private data to the runner via config (#29467) 2024-02-13 09:34:03 -08:00
Dmitry Gozman
f605a5009b
fix(esmLoader): do not serialize the whole compilation cache after each import (#29464)
Instead, send the newly created cache entry only.

References #29418.
2024-02-12 16:39:53 -08:00
Yury Semikhatsky
7834beb932
chore: extract --project-grep option for matching with regex (#29445)
Reference https://github.com/microsoft/playwright/issues/15128
2024-02-10 11:19:00 -08:00
Pavel Feldman
586d14f02c
chore: add find-related-tests command (#29439) 2024-02-09 19:02:42 -08:00
Max Schmitt
61b88a851d
fix(merge): blobs before tags API (#29438)
Fixes https://github.com/microsoft/playwright/issues/29434
2024-02-09 20:47:38 +01:00
Yury Semikhatsky
7a86bf4af6
chore: delete store.ts (#29423) 2024-02-08 12:55:18 -08:00
Pavel Feldman
7f81c6e138
feat(ct): allow clearing cached build and test transformations (#29410) 2024-02-08 10:24:01 -08:00
Pavel Feldman
84dea09cb9
fix(ct): resolve components used in tests during the vite build (#29407) 2024-02-07 20:39:45 -08:00
Dmitry Gozman
3331a40647
feat(test runner): tags/annotations (#29248)
API changes:
- `test(title, details, body)` where details contain `tag` and
`annotation`.
- similar `details` property added to `test.skip`, `test.fail`,
`test.fixme`, `test.only`, `test.describe` and other `test.describe.*`
variations.
- `TestProject.tagFilter`/`TestConfig.tagFilter` that supports logical
tag expressions with `(`, `)`, `and`, `or` and `not`.
- `--tag` CLI option to filter by tags.
- New annotations are available in `TestInfo.annotations` and
`TestCase.annotations`.
- New tags are available in `TestCase.tags`.
    
Reporter changes:
- `json` reporter includes new tags in addition to old `@smoke`-style
tags. **Breaking**: tags are now listed with the leading `@` symbol.
- `html` reporter filters by old and new tags with the same `@smoke`
token.

Fixes #29229, fixes #23180.
2024-02-07 16:31:25 -08:00
Pavel Feldman
20699c36ba
chore: simplify types handling in toHaveScreenshot (#29374) 2024-02-05 19:07:30 -08:00
Dmitry Gozman
fb29d90052
docs: remove overloads from test.* APIs (#29376) 2024-02-05 19:03:04 -08:00
Pavel Feldman
5f5e058e96
fix(fixtures): tear down base fixture after error in derived (#29337)
Fixes https://github.com/microsoft/playwright/issues/29325
2024-02-05 16:47:15 -08:00
Max Schmitt
8c007fd3fc
fix(toHaveScreenshot): stylePath as first arg (#29372) 2024-02-05 22:52:16 +01:00
Pavel Feldman
dd0ef72cd8
feat(tsconfig): respect tsconfig references (#29330)
Fixes https://github.com/microsoft/playwright/issues/29256
2024-02-02 16:18:44 -08:00
Dmitry Gozman
b9565ea26e
chore(test runner): refactor beforeAll/afterAll hooks and modifiers (#29309)
- Modifiers that only depend on the worker fixtures are implemented as
`beforeAll` hooks.
- Modifiers that depend on test fixtures are implemented as `beforeEach`
hooks.
- Pushed `_runAndFailOnError` down the stack, wrapping individual hooks
instead of the whole "before hooks" section.
- Reused the same code to run `beforeAll` and `afterAll` hooks and
modifiers.

**Behavior change**: `test.skip()` inside a `beforeAll` now skips the
hook and all tests in the suite.
2024-02-02 14:25:46 -08:00
Max Schmitt
a6e0af6767
feat: parse projects option as RegExp (#29327)
Fixes https://github.com/microsoft/playwright/issues/15128
Relates https://github.com/microsoft/playwright/pull/17244

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2024-02-02 23:05:20 +01:00
Pavel Feldman
4784139bb0
fix(test): do not allow mixing tests from different types (#29284)
Fixes https://github.com/microsoft/playwright/issues/29282
2024-02-01 11:59:56 -08:00
Yury Semikhatsky
b5082e10fd
fix: do not retry missing snapshot errors (#29272)
When `updateSnapshots === 'missing'` we generate new expectations on the
first attempt and don't retry the test afterwards instead of trying it
retries-1 times and only writing new expectation on the last attempt.
This logic infects all serial mode suites that contain the test with
missing expectations, so they also will not be retried.

Reference https://github.com/microsoft/playwright/issues/29073
2024-01-31 15:33:38 -08:00
Tanay Vardhan
e9a8fc944c
fix: Add support for exif jpeg file formats (#29208) 2024-01-29 14:58:13 -08:00
Dmitry Gozman
5ee7179b13
fix(test runner): make TestTracing responsible for trace management (#29181)
... instead of a fixture.

Fixes #29133, fixes #28733, fixes #28476.
2024-01-26 15:52:25 -08:00
Yury Semikhatsky
0113e8455b
fix: make TeleSuite.project work for all suites (#29177)
Fixes https://github.com/microsoft/playwright/issues/29173
2024-01-25 13:44:08 -08:00