Skip to content

Commit 81ba860

Browse files
committed
fix: add explicit user-data-dir to ensure settings are read
The smoke/e2e/integration tests were failing because VS Code wasn't reading the settings.json file we created. This happened because @vscode/test-cli uses its own default user-data directory unless we explicitly pass --user-data-dir. This fix adds launchArgs to each test profile to point to our .vscode-test/user-data directory where CI creates the settings file with 'python.useEnvironmentsExtension': true.
1 parent 55e4c39 commit 81ba860

1 file changed

Lines changed: 61 additions & 48 deletions

File tree

.vscode-test.mjs

Lines changed: 61 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,65 @@
11
import { defineConfig } from '@vscode/test-cli';
2+
import * as path from 'path';
3+
4+
// Explicit user data directory - ensures VS Code reads our settings.json
5+
const userDataDir = path.resolve('.vscode-test/user-data');
26

37
export default defineConfig([
4-
{
5-
label: 'smokeTests',
6-
files: 'out/test/smoke/**/*.smoke.test.js',
7-
mocha: {
8-
ui: 'tdd',
9-
timeout: 120000,
10-
retries: 1,
11-
},
12-
env: {
13-
VSC_PYTHON_SMOKE_TEST: '1',
14-
},
15-
// Install the Python extension - needed for venv support
16-
installExtensions: ['ms-python.python'],
17-
},
18-
{
19-
label: 'e2eTests',
20-
files: 'out/test/e2e/**/*.e2e.test.js',
21-
mocha: {
22-
ui: 'tdd',
23-
timeout: 180000,
24-
retries: 1,
25-
},
26-
env: {
27-
VSC_PYTHON_E2E_TEST: '1',
28-
},
29-
installExtensions: ['ms-python.python'],
30-
},
31-
{
32-
label: 'integrationTests',
33-
files: 'out/test/integration/**/*.integration.test.js',
34-
mocha: {
35-
ui: 'tdd',
36-
timeout: 60000,
37-
retries: 1,
38-
},
39-
env: {
40-
VSC_PYTHON_INTEGRATION_TEST: '1',
41-
},
42-
installExtensions: ['ms-python.python'],
43-
},
44-
{
45-
label: 'extensionTests',
46-
files: 'out/test/**/*.test.js',
47-
mocha: {
48-
ui: 'tdd',
49-
timeout: 60000,
50-
},
51-
},
8+
{
9+
label: 'smokeTests',
10+
files: 'out/test/smoke/**/*.smoke.test.js',
11+
mocha: {
12+
ui: 'tdd',
13+
timeout: 120000,
14+
retries: 1,
15+
},
16+
env: {
17+
VSC_PYTHON_SMOKE_TEST: '1',
18+
},
19+
launchArgs: [
20+
`--user-data-dir=${userDataDir}`,
21+
],
22+
// Install the Python extension - needed for venv support
23+
installExtensions: ['ms-python.python'],
24+
},
25+
{
26+
label: 'e2eTests',
27+
files: 'out/test/e2e/**/*.e2e.test.js',
28+
mocha: {
29+
ui: 'tdd',
30+
timeout: 180000,
31+
retries: 1,
32+
},
33+
env: {
34+
VSC_PYTHON_E2E_TEST: '1',
35+
},
36+
launchArgs: [
37+
`--user-data-dir=${userDataDir}`,
38+
],
39+
installExtensions: ['ms-python.python'],
40+
},
41+
{
42+
label: 'integrationTests',
43+
files: 'out/test/integration/**/*.integration.test.js',
44+
mocha: {
45+
ui: 'tdd',
46+
timeout: 60000,
47+
retries: 1,
48+
},
49+
env: {
50+
VSC_PYTHON_INTEGRATION_TEST: '1',
51+
},
52+
launchArgs: [
53+
`--user-data-dir=${userDataDir}`,
54+
],
55+
installExtensions: ['ms-python.python'],
56+
},
57+
{
58+
label: 'extensionTests',
59+
files: 'out/test/**/*.test.js',
60+
mocha: {
61+
ui: 'tdd',
62+
timeout: 60000,
63+
},
64+
},
5265
]);

0 commit comments

Comments
 (0)