Commit graph

38 commits

Author SHA1 Message Date
Pavel Feldman 16baaa317d
chore: remove stale html experiments (#8905) 2021-09-13 20:34:46 -07:00
Joel Einbinder bf35da3656
fix(test-runner): accept unix separators even on windows (#8881)
.
2021-09-13 12:09:38 -04:00
Pavel Feldman 7bbb63d143
feat(test): start authoring raw reporter (#8790) 2021-09-09 14:17:18 -07:00
Dmitry Gozman e691b649de
feat(test runner): describe.parallel (#8662) 2021-09-02 15:42:07 -07:00
Yury Semikhatsky bafa426231
feat(runner): support multiple names in project filter (#8600) 2021-09-02 09:29:55 -07:00
Pavel Feldman 1c169289b2
chore: move async utils into a separate file (#8595) 2021-08-31 14:44:08 -07:00
Max Schmitt 712a36649b
fix(test-runner): do not start web-server when tests are listed (#8414) 2021-08-24 23:39:24 +02:00
Dmitry Gozman 41949e559e
Revert "feat(test runner): file scope fixtures (#7969)" (#8081)
This reverts commit 1bbf86d060,
leaving small improvements around.
2021-08-09 12:33:16 -07:00
Dmitry Gozman 1bbf86d060
feat(test runner): file scope fixtures (#7969)
These are reset after running tests from a single file.
2021-08-04 21:11:02 -07:00
Max Schmitt 385d489b35
feat(test-runner): re-enable web server (#7906)
Co-authored-by: Joel Einbinder <joel.einbinder@gmail.com>
2021-08-03 23:24:14 +02:00
Dmitry Gozman 34c0c342fa
fix(test runner): make test order stable when fixtures are changing (#7923)
We used to sort based on workerHash, and that changes depending on
the exact worker fixtures list. Now we replace workerHash with
an ordinal when constructing the TestGroup list to preserve the
natural order.
2021-07-29 18:27:47 -07:00
Dmitry Gozman a18b4fb49a
fix(test runner): workaround npm bug that sends multiple sigints (#7916)
When running through NPM, we can get multiple SIGINT signals
for a single Ctrl+C - the more npm layers you use, the more SIGINTs you get.

This is a known NPM bug present since at least NPM v6.
Workaround is to give NPM one second for the fake signals, and
only then remove out listener.
2021-07-29 16:01:22 -07:00
Dmitry Gozman da9b488d0d
fix(test-runner): sharding tests does not show a lot of skips (#7708) 2021-07-27 11:04:38 -07:00
Dmitry Gozman cf886b3829
fix(test runner): align shard info to be one-based everywhere (#7859)
We used to treat shard from cli and shard from config differently.
2021-07-27 09:13:04 -07:00
Joel Einbinder 483b7d6a0d
feat(test-runner): mark launch as experimental (#7757) 2021-07-21 09:51:27 -05:00
Joel Einbinder 051dc332a6
feat(test-runner): use require to resolve reporters (#7749) 2021-07-20 15:03:01 -05:00
Max Schmitt c84c5c8c9b
fix(test-runner): do not list tests to stdout when JSON reporter is used (#7730) 2021-07-20 01:10:43 +02:00
Dmitry Gozman 2ac0c59156
feat(test-runner): rename Test to TestCase (#7725) 2021-07-19 14:54:18 -07:00
Dmitry Gozman 66ea613c4d
feat(test-runner): small changes to Reporter api (#7709)
- `TestResult.startTime`
- `Suite.location` is optional now
- `Test.status()` renamed to `Test.outcome()` to differentiate against a
  `Test.expectedStatus` and `TestResult.status` of the different type.
2021-07-18 17:40:59 -07:00
Dmitry Gozman 602d815981
fix(test-runner): list mode should print tests (#7665)
It was not doing anything before.
2021-07-16 22:34:55 -07:00
Dmitry Gozman 167db03f05
feat(test-runner): export reporter api as @playwright/test/reporter (#7692) 2021-07-16 21:15:03 -07:00
Dmitry Gozman 18be5f5319
feat(test-runner): suite per project (#7688)
This makes our suite structure the following:
```
Root(title='') > Project(title=projectName) > File(title=relativeFilePath) > ...suites > test
```

Removed `fullTitle()` because it is not used directly by anyone.
Default reporters now report each test as
```
[project-name] › relative/file/path.spec.ts:42:42 › suite subsuite test title
```
2021-07-16 15:23:50 -07:00
Dmitry Gozman 31572fc372
chore(test-runner): misc changes to reporter api (#7664)
- `Location` with `file`, `line` and `column`.
- `fullTitle` does not include project name.
- `titlePath` method.
- All methods of `Reporter` are optional.
- Removed `Test.skipped` property that is superseeded by `Test.status()`.
- Replaced `Suite.findTest()` with `Suite.allTests()`.
- Removed `Test.suite` property.
2021-07-16 12:40:33 -07:00
Dmitry Gozman 8b2dd2e3d1
chore(test-runner): remove the notion of Spec (#7661)
We now have Suites and Tests. When running multiple projects the whole
suite is cloned for each project. Same happens for repeatEach.

This simplifies the reporters API, but there is still room for improvement.

JSON reporter continues to produce old json output.
2021-07-15 22:02:10 -07:00
Max Schmitt 6cc2fe178e
feat(test-runner): migrate to launch config/server (#7603) 2021-07-15 01:19:45 +02:00
Max Schmitt a26fe65db3
fix(test-runner): start webServer before globalSetup/teardown (#7604) 2021-07-14 19:01:46 +02:00
Joel Einbinder eb31b9e4a9
feat(test-runner): support esm modules in more places (#7542) 2021-07-12 11:59:58 -05:00
Max Schmitt 98bcf26656
feat(test-runner): add webServer (#7368) 2021-07-07 20:19:42 +02:00
Joel Einbinder 7629587914
fix(test-runner): work with .mjs files (#7373) 2021-06-29 15:28:41 -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
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 908ad6921f
fix(test-runner): make it compatible when running as a sub-process (#7298)
Works around the following bug: https://github.com/nodejs/node/issues/12921
2021-06-25 00:54:06 +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
Max Schmitt 103f8ddd06
Revert "chore: update eslint config (#6840)" partly (#7268)
This reverts commit ec7d37d92f.
2021-06-23 11:08:35 +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
Pavel Feldman ea4eebeb2d
feat(test-runner): document tagging, implement grep-invert (#7227) 2021-06-18 17:56:59 -07:00
Max Schmitt 05382c997b
fix(test-runner): do only match JS/TS files when collecting (#7014) 2021-06-10 16:41:57 +02:00
Dmitry Gozman f745bf1fbc
chore: bring in folio source (#6923)
- Source now lives at `src/test`.
- Former folio tests live at `tests/playwright-test`.
- We use `src/test/internal.ts` that exposes base test without
  Playwright fixtures for most tests (to avoid modifications for now).
- Test types live in `types/testFoo.d.ts`.
- Stable test runner is installed to `tests/config/test-runner` during `npm install`.
- All deps including test-only are now listed in `package.json`.
  Non-test deps must also be listed in `build_package.js` to get included.
2021-06-06 17:09:53 -07:00