Commit Graph

81 Commits

Author SHA1 Message Date
Johannes Rieken
880eee6a96 print warning about reused action ids, fix view action duplication (#202000)
* print warning about reused action ids, fix view action duplication

* remove debug code

* make tests happy-ish
2024-01-08 16:27:32 +01:00
Connor Peet
0385382382 testing: more out-of-editor refinements (#201834)
- Som more tweaks to our own runner scripts to allow asking for the
  generated coverage formats.
- Add actions alongside debug/run for executing coverage profiles
- Finish with displaying function coverage stats in Coverage view,
  allow changing its sort order.

Fixes #200529
Fixes #199380
2024-01-04 21:22:46 +01:00
Connor Peet
c016ce64fb testing: misc work on test coverage (#201758)
- Allow coverage bar color thresholds to be configurable as the Java
  folks requested.
- Update some of our scripts for integration into
  the selfhost test runner.
- Initial parts of showing function coverage in the Test Coverage view.
  (Still a work in progress, more tomorrow)
2024-01-04 08:42:22 +01:00
Connor Peet
b964ed995a eng: fix waitServer not working in unit test debug (#201334)
Fixes #182341
2023-12-20 14:09:46 -08:00
Connor Peet
027aa0ff19 testing: avoid console log in unit tests (#201141)
Fixes #192468
2023-12-18 18:39:13 +01:00
Johannes Rieken
a5698e8857 Joh/rainy-mollusk (#200976)
* snippet completions should also check with the completion model

this will allow to return "more" from the snippet completion item provider and rely on the completions model to do some filtering

* when debugging tests allow to use console.log

* fix https://github.com/microsoft/vscode/issues/191070
2023-12-15 16:07:56 +01:00
Johannes Rieken
3056f52f92 add failing/skipped test for https://github.com/microsoft/vscode/issues/191070 (#200125)
* fix --dev option of unit tests fyi @joaomoreno

* fix timing issue when getting line, add failing/skipped test for https://github.com/microsoft/vscode/issues/191070
2023-12-06 12:16:49 +01:00
Logan Ramos
e5e9a6556e Remove extra console.log (#199985) 2023-12-04 22:23:08 +01:00
Connor Peet
a0b548807a eng: add assertHeap method for memory assertions (#198334)
This adds an `assertHeap` function that can be used in tests. It
takes a heap snapshot, and asserts the state of classes in memory. This
works in Node and the Electron sandbox, but is a no-op in the browser.
Snapshots are process asynchronously and will report failures at the end
of the suite.

This method should be used sparingly (e.g. once at the end of a suite to
ensure nothing leaked before), as gathering a heap snapshot is fairly
slow, at least until V8 11.5.130 (https://v8.dev/blog/speeding-up-v8-heap-snapshots).

When used, the function will ensure the test has a minimum timeout
duration of 20s to avoid immediate failures.

It takes options containing a mapping of class names, and assertion functions
to run on the number of retained instances of that class. For example:

```ts
assertSnapshot({
	classes: {
		ShouldNeverLeak: count => assert.strictEqual(count, 0),
		SomeSingleton: count => assert(count <= 1),
	}
});
```

Closes https://github.com/microsoft/vscode/issues/191920
2023-11-15 10:41:22 -08:00
João Moreno
a5d71aad39 Cleanup dependencies (#195026)
* move build dependencies to devDependencies

* build: bump tree-sitter

* dependencies cleanup

* remove leftover file
2023-10-09 09:34:15 +02:00
Connor Peet
c6a9da71a2 eng: allow snapshot mutation messages locally (#194498)
* eng: allow snapshot mutation messages locally

Fixes https://github.com/microsoft/vscode/issues/192439
Fixes https://github.com/microsoft/vscode/issues/194493

* keep snapshot tests allowed
2023-09-29 18:36:27 +01:00
Benjamin Pasero
6b9583d2dc fix (#192807)
* fix

* fix

* fix

* fix
2023-09-11 12:54:53 -07:00
Benjamin Pasero
0c5c400ea5 debt - more polish in global test reporter (#192774)
* debt - more polish in global test reporter

* cleanup

* cleanup

* fixes
2023-09-11 17:16:16 +02:00
Benjamin Pasero
edd2f9f3f1 eng - fail test that logs unexpected output (#192700)
eng - fail test that logs
2023-09-11 14:35:48 +02:00
Connor Peet
6a847ba6d1 eng: add support for snapshot tests (#190444)
* eng: add support for snapshot tests

This adds Jest-like support for snapshot testing.
Developers can do something like:

```js
await assertSnapshot(myComplexObject)
```

The first time this is run, the snapshot expectation file is written
to a `__snapshots__` directory beside the test file. Subsequent runs
will compare the object to the snapshot, and fail if it doesn't match.

You can see an example of this in the test for snapshots themselves!

After a successful run, any unused snapshots are cleaned up. On a failed
run, a gitignored `.actual` snapshot file is created beside the
snapshot for easy processing and inspection.

Shortly I will do some integration with the selfhost test extension to
allow developers to easily update snapshots from the vscode UI.

For #189680

cc @ulugbekna @hediet

* fix async stacktraces getting clobbered

* random fixes

* comment out leak detector, for now

* add option to snapshot file extension
2023-08-15 12:03:51 -07:00
Benjamin Pasero
424388032a tests - increase timeout when running in CI (#182288) 2023-05-12 13:02:15 +02:00
Benjamin Pasero
b0b69338e8 debt - further reduce electron-browser layer (#178504)
* debt - move more tests out of `electron-browser`

* move more tests

* move preload script as well

* fix
2023-03-28 10:35:58 -07:00
Johannes
d555777b1a simplify _VSCODE_NODE_MODULES util 2022-11-18 09:42:32 +01:00
Johannes
8dd8d214d8 don't use __$__nodeRequire to fetch product configuration 2022-11-18 09:41:51 +01:00
Johannes
2d6ad4be88 * add global for node_modules access
* remove most usages of require.__$__nodeRequire
* stop using require.nodeRequire
2022-11-18 09:41:43 +01:00
Raymond Zhao
9feaed8f51 Revert "joh/representative canidae" (#166641) 2022-11-17 13:53:17 -08:00
Johannes
6dd2726c73 simplify _VSCODE_NODE_MODULES util 2022-11-17 17:58:51 +01:00
Johannes
93c3f3202b don't use __$__nodeRequire to fetch product configuration 2022-11-17 15:41:23 +01:00
Johannes
0824db3bad * add global for node_modules access
* remove most usages of require.__$__nodeRequire
* stop using require.nodeRequire
2022-11-17 12:09:14 +01:00
Johannes
15b8f56574 fix rendering/UI for ./scripts/test.sh --dev 2022-10-04 14:51:58 +02:00
Alexandru Dima
a68f9da5fe There is no need to pass in nodeMain when passing in baseUrl (#160893) 2022-09-14 13:04:14 +02:00
Johannes Rieken
1857d6c076 for test runinng, use --dev instead of --debug (#159040)
fixes https://github.com/microsoft/vscode/issues/159011
2022-08-24 07:54:39 -04:00
deepak1556
c3077080ec Merge remote-tracking branch 'origin' into electron-18.x.y 2022-06-10 18:29:22 +09:00
Johannes
0656d21d11 auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
deepak1556
1044556d8b chore: bump electron@18.0.0-beta.4 2022-05-31 08:25:29 +09:00
Robo
32d40cf44e chore: update to electron 17 (#143223)
* chore: bump electron@17.0.0

* Revert "chore: revert to electron@13 (#143851)"

This reverts commit df645f1450.

* chore: bump electron@17.1.0

* Revert "ci: fix build with latest node-gyp"

This reverts commit c3e948aa30.

* chore: revert ci changes for node v16

* chore: update yarn.lock

* chore: bump electron@17.1.1
2022-03-11 00:51:37 +09:00
Robo
df645f1450 chore: revert to electron@13 (#143851)
* Revert "chore: update to electron 16 (#137241)"

This reverts commit 01df559c18.
This reverts commit 46301339b7

* ci: fix remote compiler for sdl-scan

* chore: fix remote/.yarnrc

* chore: fix build/npm/postinstall.js

* chore: rm crash reporter from shared process

* chore: rm crash reporter from ext host

* chore: fix build/lib/layersChecker.ts

* :chore: preserve some more changes

* fix tests

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2022-02-24 17:49:49 +01:00
Benjamin Pasero
b344f43498 Revert "linux: disable crash reporting in CI (#142572)"
This reverts commit 7dbd7367dc.
2022-02-15 16:27:08 +01:00
Benjamin Pasero
7dbd7367dc linux: disable crash reporting in CI (#142572) 2022-02-15 08:26:18 +01:00
Robo
01df559c18 chore: update to electron 16 (#137241)
* chore: bump electron@15.3.0

* chore: bump node@16.x

* chore: enable render process reuse

* Revert "watcher - use `type` property for crash reporter location"

This reverts commit bfa488dd8f.

* Revert "watcher - enable crash reports on linux (#136264)"

This reverts commit af261488f8.

* chore: enable crashpad on linux

* chore: bump electron@15.3.1

* chore: update api changes

* chore: bump @vscode/sqlite3@5.0.3

* spec: skip non-context aware module unittests

* chore: fix perf hook integration with node environment

* fix: adopt fs api changes

* chore: fix integration tests

* chore: bump electron@15.3.2

* chore: bump electron@16.0.0

* temp(macOS): kill test instances in OSS

* Revert "temp(macOS): kill test instances in OSS"

This reverts commit b0d796c8d64227a5ec012c060bbbee7d9da27568.

* chore: update chromium version for clang downloader

* some 💄 changes

* align with changes

* adopt more fs.rm

* 💄

* chore: bump @vscode/sqlite3@5.0.4

* fix layers check to account for duplicated types from node.js

* update todo for type casts

* smoke - fix compile issue

* chore: update module cache

* watcher - fix unhandled rejection (fix #137416)

* ci: update node version

* enable stack dumping

* update electron types to 16.x

* chore: bump @vscode/sqlite3@5.0.5

Refs https://github.com/microsoft/vscode/issues/137496

* fix layer issue

* add `AbortSignal` to core types

* chore: update linux compile flags

Refs 797723ec83

* ci: fix linux build

* ci: update github ci cache

* ci: fix remote build in github ci

* ci: better fix for remote build

* chore: bump azure cache

* chore: fix merge conflict

* :chore: update to electron@16.0.2

* chore: bump @vscode/sqlite3@5.0.7

* ci: update to gcc-4.9 for remote

Refs https://github.com/microsoft/vscode/issues/137659

* ci: switch to buster for linux arm

Refs https://github.com/microsoft/vscode/issues/137927

* ci: fix build on linux arm64

* ci: fix arm client compiler toolchain

Refs #137927

* chore: bump electron@16.0.3

* ci: fix compile flags for the c toolchain

* chore: bump electron@16.0.4

* Add experimental dark mode flag (#139109)

* Add experimental dark mode flag

* Apply PR feedback

* chore: bump electron@16.0.6

* chore: bump electron@16.0.7

Fixes https://github.com/microsoft/vscode/issues/138792
Fixes https://github.com/microsoft/vscode/issues/139300

* chore: experimental highlight API

* smoke - fix compile issue

* FIXME: custom ELECTRON_RUN_AS_NODE with node worker

* Revert "chore: bump electron@16.0.7"

This reverts commit 5fd01cf37c.

* Revert "Revert "chore: bump electron@16.0.7""

This reverts commit a7f1b73951.

* chore: fix github linux workflow

* chore: address review feedback

* chore: bump electron@16.0.8

* ci: revert to stretch distro for linux arm

Refs https://github.com/microsoft/vscode/issues/137927

* ci: force build

* chore: update yarn.lock

* address feedback

* Revert "FIXME: custom ELECTRON_RUN_AS_NODE with node worker"

This reverts commit 7b48fa3732.

* ci: fix remote folder build

* chore: fix github linux ci

* 🆙 `versionSpec`

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Raymond Zhao <raymondzhao@microsoft.com>
2022-02-08 20:09:00 +01:00
Alex Dima
cab9713422 Fixes #141994: Address eslint problems 2022-02-02 13:18:12 +01:00
Benjamin Pasero
f317abfd68 layers - clean up top level workbench test folder 2022-01-20 10:47:35 +01:00
Benjamin Pasero
ddbda4c196 tests - enable crash reporter for electron based unit tests
//cc @deepak1556
2021-11-19 11:12:53 +01:00
Alexandru Dima
7dfe2e33ea Fix test running around loading assertCleanState 2021-10-19 11:09:47 +02:00
Alex Dima
11862795ea Remove LanguageIdentifier and ensure tests dispose instantiated LanguagesRegistry objects 2021-10-18 10:29:16 +02:00
Henning Dieterichs
98c1725c7d Encode actual and expected value as JSON to enable https://github.com/microsoft/vscode-selfhost-test-provider/pull/2.
Only a proof of concept yet.
2021-09-13 18:44:06 +02:00
Connor Peet
fa9255c0de almost complete update for run configurations 2021-07-12 17:28:01 -07:00
Connor Peet
20790ec994 testing: increase debugger wait timeout 2021-07-09 15:28:35 -07:00
Connor Peet
c6d7cfed8a testing: fix undefined not being reported correctly in results
Fixes #125669
2021-07-07 15:28:55 -07:00
Benjamin Pasero
d0df79be50 webview - remove more traces (#128128)
* webview - remove more traces

* more removal
2021-07-07 18:28:53 +02:00
Benjamin Pasero
802648f2a1 electron - adopt some newer APIs and 💄 main code 2021-06-04 09:22:38 +02:00
Connor Peet
24ea8408c3 testing: propoagate timeout option for unit tests 2021-04-29 12:19:56 -07:00
Connor Peet
b1569995f9 testing: allow waiting for server before running unit tests
Fixes https://github.com/microsoft/vscode/issues/121751
2021-04-26 16:31:36 -07:00
Benjamin Pasero
7095f4706c unit tests (electron) - avoid sending circular structures over 2021-04-21 08:13:08 +02:00
Benjamin Pasero
f8c7dd64a4 tests - ensure preload promises are all resolved 2021-04-09 08:28:21 +02:00