Skip to content

Commit 0367b7a

Browse files
authored
Ensure dependency quick pick is not shown when user exits env creation (#20616)
Cherry picking a fix from main into release.
1 parent 2dd9287 commit 0367b7a

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/client/pythonEnvironments/creation/provider/venvCreationProvider.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@ export class VenvCreationProvider implements CreateEnvironmentProvider {
127127
[EnvironmentType.System, EnvironmentType.MicrosoftStore, EnvironmentType.Global].includes(i.envType),
128128
);
129129

130+
if (!interpreter) {
131+
traceError('Virtual env creation requires an interpreter.');
132+
return undefined;
133+
}
134+
130135
let addGitIgnore = true;
131136
let installPackages = true;
132137
if (options) {
@@ -139,11 +144,6 @@ export class VenvCreationProvider implements CreateEnvironmentProvider {
139144
}
140145
const args = generateCommandArgs(installInfo, addGitIgnore);
141146

142-
if (!interpreter) {
143-
traceError('Virtual env creation requires an interpreter.');
144-
return undefined;
145-
}
146-
147147
if (!installInfo) {
148148
traceInfo('Virtual env creation exited during dependencies selection.');
149149
return undefined;

src/test/pythonEnvironments/creation/provider/venvCreationProvider.unit.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,14 @@ suite('venv Creation provider tests', () => {
6262

6363
test('No workspace selected', async () => {
6464
pickWorkspaceFolderStub.resolves(undefined);
65+
interpreterQuickPick
66+
.setup((i) => i.getInterpreterViaQuickPick(typemoq.It.isAny(), typemoq.It.isAny()))
67+
.verifiable(typemoq.Times.never());
6568

6669
assert.isUndefined(await venvProvider.createEnvironment());
6770
assert.isTrue(pickWorkspaceFolderStub.calledOnce);
71+
interpreterQuickPick.verifyAll();
72+
assert.isTrue(pickPackagesToInstallStub.notCalled);
6873
});
6974

7075
test('No Python selected', async () => {
@@ -76,7 +81,10 @@ suite('venv Creation provider tests', () => {
7681
.verifiable(typemoq.Times.once());
7782

7883
assert.isUndefined(await venvProvider.createEnvironment());
84+
85+
assert.isTrue(pickWorkspaceFolderStub.calledOnce);
7986
interpreterQuickPick.verifyAll();
87+
assert.isTrue(pickPackagesToInstallStub.notCalled);
8088
});
8189

8290
test('User pressed Esc while selecting dependencies', async () => {

0 commit comments

Comments
 (0)