Skip to content

Commit 3343560

Browse files
authored
Fix failing multiroot test (#24049)
Fixes #24046
1 parent 884efad commit 3343560

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

.vscode/launch.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@
127127
"--extensionDevelopmentPath=${workspaceFolder}",
128128
"--extensionTestsPath=${workspaceFolder}/out/test"
129129
],
130+
"env": {
131+
"VSC_PYTHON_CI_TEST_GREP": "" // Modify this to run a subset of the single workspace tests
132+
},
130133
"sourceMaps": true,
131134
"smartStep": true,
132135
"outFiles": ["${workspaceFolder}/out/**/*", "!${workspaceFolder}/**/node_modules**/*"],

src/test/common/variables/envVarsProvider.multiroot.test.ts

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import { expect, use } from 'chai';
55
import * as chaiAsPromised from 'chai-as-promised';
66
import * as path from 'path';
7-
import { anything, instance, mock, when } from 'ts-mockito';
7+
import { anything } from 'ts-mockito';
88
import { ConfigurationTarget, Disposable, Uri, workspace } from 'vscode';
99
import { WorkspaceService } from '../../../client/common/application/workspace';
1010
import { PlatformService } from '../../../client/common/platform/platformService';
@@ -14,14 +14,14 @@ import { getSearchPathEnvVarNames } from '../../../client/common/utils/exec';
1414
import { EnvironmentVariablesService } from '../../../client/common/variables/environment';
1515
import { EnvironmentVariablesProvider } from '../../../client/common/variables/environmentVariablesProvider';
1616
import { EnvironmentVariables } from '../../../client/common/variables/types';
17-
import { EnvironmentActivationService } from '../../../client/interpreter/activation/service';
1817
import { IEnvironmentActivationService } from '../../../client/interpreter/activation/types';
1918
import { IInterpreterAutoSelectionService } from '../../../client/interpreter/autoSelection/types';
2019
import { clearPythonPathInWorkspaceFolder, isOs, OSType, updateSetting } from '../../common';
2120
import { closeActiveWindows, initialize, initializeTest, IS_MULTI_ROOT_TEST } from '../../initialize';
2221
import { MockAutoSelectionService } from '../../mocks/autoSelector';
2322
import { MockProcess } from '../../mocks/process';
2423
import { UnitTestIocContainer } from '../../testing/serviceRegistry';
24+
import { createTypeMoq } from '../../mocks/helper';
2525

2626
use(chaiAsPromised.default);
2727

@@ -47,12 +47,21 @@ suite('Multiroot Environment Variables Provider', () => {
4747
ioc.registerProcessTypes();
4848
ioc.registerInterpreterStorageTypes();
4949
await ioc.registerMockInterpreterTypes();
50-
const mockEnvironmentActivationService = mock(EnvironmentActivationService);
51-
when(mockEnvironmentActivationService.getActivatedEnvironmentVariables(anything())).thenResolve();
52-
ioc.serviceManager.rebindInstance<IEnvironmentActivationService>(
53-
IEnvironmentActivationService,
54-
instance(mockEnvironmentActivationService),
55-
);
50+
const mockEnvironmentActivationService = createTypeMoq<IEnvironmentActivationService>();
51+
mockEnvironmentActivationService
52+
.setup((m) => m.getActivatedEnvironmentVariables(anything()))
53+
.returns(() => Promise.resolve({}));
54+
if (ioc.serviceManager.tryGet<IEnvironmentActivationService>(IEnvironmentActivationService)) {
55+
ioc.serviceManager.rebindInstance<IEnvironmentActivationService>(
56+
IEnvironmentActivationService,
57+
mockEnvironmentActivationService.object,
58+
);
59+
} else {
60+
ioc.serviceManager.addSingletonInstance(
61+
IEnvironmentActivationService,
62+
mockEnvironmentActivationService.object,
63+
);
64+
}
5665
return initializeTest();
5766
});
5867
suiteTeardown(closeActiveWindows);

0 commit comments

Comments
 (0)