Skip to content

Commit ee745a2

Browse files
authored
Fix the experiment check while getting remote debugger arguments. (microsoft#8808)
* Fix extension api experiment check and update test * Update package-lock.json
1 parent 782ede1 commit ee745a2

4 files changed

Lines changed: 113 additions & 67 deletions

File tree

‎package-lock.json‎

Lines changed: 58 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/client/api.ts‎

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
'use strict';
55

6-
import { DebugAdapterDescriptorFactory as DebugAdapterExperiment } from './common/experimentGroups';
6+
import { DebugAdapterDescriptorFactory as DebugAdapterExperiment, DebugAdapterNewPtvsd } from './common/experimentGroups';
77
import { traceError } from './common/logger';
8-
import { IConfigurationService, IExperimentsManager } from './common/types';
8+
import { IExperimentsManager } from './common/types';
99
import { RemoteDebuggerExternalLauncherScriptProvider } from './debugger/debugAdapter/DebugClients/launcherProvider';
1010
import { IDebugAdapterDescriptorFactory } from './debugger/extension/types';
1111

@@ -36,25 +36,24 @@ export interface IExtensionApi {
3636
}
3737

3838
// tslint:disable-next-line:no-any
39-
export function buildApi(ready: Promise<any>, experimentsManager: IExperimentsManager, debugFactory: IDebugAdapterDescriptorFactory, configuration: IConfigurationService) {
39+
export function buildApi(ready: Promise<any>, experimentsManager: IExperimentsManager, debugFactory: IDebugAdapterDescriptorFactory) {
4040
return {
41-
// 'ready' will propogate the exception, but we must log it here first.
41+
// 'ready' will propagate the exception, but we must log it here first.
4242
ready: ready.catch((ex) => {
4343
traceError('Failure during activation.', ex);
4444
return Promise.reject(ex);
4545
}),
4646
debug: {
4747
async getRemoteLauncherCommand(host: string, port: number, waitUntilDebuggerAttaches: boolean = true): Promise<string[]> {
48-
const pythonSettings = configuration.getSettings(undefined);
49-
const useNewDAPtvsd = experimentsManager.inExperiment(DebugAdapterExperiment.experiment) && (await debugFactory.useNewPtvsd(pythonSettings.pythonPath));
48+
const useNewDAPtvsd = experimentsManager.inExperiment(DebugAdapterExperiment.experiment) && experimentsManager.inExperiment(DebugAdapterNewPtvsd.experiment);
5049

51-
if (!useNewDAPtvsd) {
52-
return new RemoteDebuggerExternalLauncherScriptProvider().getLauncherArgs({ host, port, waitUntilDebuggerAttaches });
50+
if (useNewDAPtvsd) {
51+
// Same logic as in RemoteDebuggerExternalLauncherScriptProvider, but eventually launcherProvider.ts will be deleted.
52+
const args = debugFactory.getRemotePtvsdArgs({ host, port, waitUntilDebuggerAttaches });
53+
return [debugFactory.getPtvsdPath(), ...args];
5354
}
5455

55-
// Same logic as in RemoteDebuggerExternalLauncherScriptProvider, but eventually launcherProvider.ts will be deleted.
56-
const args = debugFactory.getRemotePtvsdArgs({ host, port, waitUntilDebuggerAttaches });
57-
return [debugFactory.getPtvsdPath(), ...args];
56+
return new RemoteDebuggerExternalLauncherScriptProvider().getLauncherArgs({ host, port, waitUntilDebuggerAttaches });
5857
}
5958
}
6059
};

‎src/client/extension.ts‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,7 @@ async function activateUnsafe(context: ExtensionContext): Promise<IExtensionApi>
201201
const api = buildApi(
202202
Promise.all([activationDeferred.promise, activationPromise]),
203203
serviceContainer.get<IExperimentsManager>(IExperimentsManager),
204-
serviceContainer.get<IDebugAdapterDescriptorFactory>(IDebugAdapterDescriptorFactory),
205-
configuration
204+
serviceContainer.get<IDebugAdapterDescriptorFactory>(IDebugAdapterDescriptorFactory)
206205
);
207206
// In test environment return the DI Container.
208207
if (isTestExecution()) {

0 commit comments

Comments
 (0)