Skip to content

Commit a824e34

Browse files
authored
Improve test config (#233)
* build with test runner hook * rename test directories * update test script * add label for vscode test projects * add `vscode:test` configuration in launch.json
1 parent 76a6b83 commit a824e34

27 files changed

Lines changed: 55 additions & 23 deletions

.github/workflows/ci.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
with:
3636
node-version: 22
3737
- run: npm run build
38-
test:
38+
test-vitest:
3939
strategy:
4040
fail-fast: false
4141
matrix:
@@ -49,11 +49,15 @@ jobs:
4949
node-version: ${{ matrix.node }}
5050
- uses: actions/cache@v4
5151
with:
52-
path: node_modules/.vite/vitest
53-
key: test-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
54-
restore-keys: test-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
55-
- run: npm run test
56-
e2e:
52+
path: |
53+
node_modules/.vite/vitest
54+
packages/*/dist
55+
packages/*/tsconfig.build.tsbuildinfo
56+
tsconfig.tsbuildinfo
57+
key: test-vitest-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
58+
restore-keys: test-vitest-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
59+
- run: npm run test:vitest
60+
test-vscode:
5761
strategy:
5862
fail-fast: false
5963
matrix:
@@ -68,18 +72,17 @@ jobs:
6872
- uses: actions/cache@v4
6973
with:
7074
path: |
71-
node_modules/.vite/vitest
7275
packages/*/dist
7376
packages/*/tsconfig.build.tsbuildinfo
7477
tsconfig.tsbuildinfo
75-
key: e2e-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
76-
restore-keys: e2e-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
78+
key: test-vscode-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
79+
restore-keys: test-vscode-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
7780
- uses: actions/cache@v4
7881
with:
7982
path: .vscode-test
8083
key: vscode-test-${{ runner.arch }}-${{ runner.os }}-vscode-${{ env.VSCODE_VERSION }}
8184

82-
- run: xvfb-run -a npm run e2e
85+
- run: xvfb-run -a npm run test:vscode
8386
if: runner.os == 'Linux'
84-
- run: npm run e2e
87+
- run: npm run test:vscode
8588
if: runner.os != 'Linux'

.vscode-test.cjs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,30 @@ const { defineConfig } = require('@vscode/test-cli');
22

33
const baseConfig = /** @type {const} */ ({
44
extensionDevelopmentPath: 'packages/vscode',
5-
workspaceFolder: 'examples/1-basic',
65
version: process.env.VSCODE_VERSION ?? 'stable',
76
mocha: {
87
timeout: 10000,
9-
require: ['tsx/cjs'],
8+
require: ['tsx/cjs', './scripts/vscode-test-setup.ts'],
109
},
1110
});
1211

1312
module.exports = defineConfig([
1413
{
1514
...baseConfig,
16-
files: 'packages/vscode/e2e/open-css-file.test.ts',
15+
label: 'open-css-file',
16+
files: 'packages/vscode/vscode-test/open-css-file.test.ts',
1717
workspaceFolder: 'examples/1-basic',
1818
},
1919
{
2020
...baseConfig,
21-
files: 'packages/vscode/e2e/open-ts-file.test.ts',
21+
label: 'open-ts-file',
22+
files: 'packages/vscode/vscode-test/open-ts-file.test.ts',
2223
workspaceFolder: 'examples/1-basic',
2324
},
2425
{
2526
...baseConfig,
26-
files: 'packages/vscode/e2e/request-forwarding-to-tsserver.test.ts',
27+
label: 'request-forwarding-to-tsserver',
28+
files: 'packages/vscode/vscode-test/request-forwarding-to-tsserver.test.ts',
2729
workspaceFolder: 'examples/4-multiple-tsconfig',
2830
},
2931
]);

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,17 @@
177177
"TSS_DEBUG": "5859"
178178
}
179179
},
180+
{
181+
"name": "vscode:test",
182+
"type": "extensionHost",
183+
"request": "launch",
184+
"testConfiguration": "${workspaceFolder}/.vscode-test.cjs",
185+
"args": ["--profile-temp"],
186+
"outFiles": ["${workspaceFolder}/packages/vscode/dist/**/*"],
187+
"presentation": {
188+
"group": "vscode:test"
189+
}
190+
},
180191
{
181192
"name": "Attach debugger to tsserver",
182193
"type": "node",

package.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@
2020
"lint:tsc": "tsc -b",
2121
"lint:eslint": "eslint .",
2222
"lint:prettier": "prettier --cache --check .",
23-
"test": "vitest --run --project unit",
24-
"e2e": "run-s -c e2e:build e2e:vitest e2e:vscode",
25-
"e2e:build": "npm run build",
26-
"e2e:vitest": "vitest --run --project e2e",
27-
"e2e:vscode": "vscode-test"
23+
"test": "run-s -c test:*",
24+
"test:vitest": "vitest --run",
25+
"test:vscode": "vscode-test"
2826
},
2927
"prettier": "@mizdra/prettier-config-mizdra",
3028
"devDependencies": {
File renamed without changes.
File renamed without changes.

packages/ts-plugin/e2e/feature/find-all-references.test.ts renamed to packages/ts-plugin/e2e-test/feature/find-all-references.test.ts

File renamed without changes.

packages/ts-plugin/e2e/feature/go-to-definition.test.ts renamed to packages/ts-plugin/e2e-test/feature/go-to-definition.test.ts

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)