Skip to content

Commit 9448ca5

Browse files
authored
debt - harden disablement of experiments in code for tests (microsoft#254642)
1 parent 1c5aac4 commit 9448ca5

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

src/vs/platform/assignment/common/assignmentService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export abstract class BaseAssignmentService implements IAssignmentService {
1919
private overrideInitDelay: Promise<void>;
2020

2121
protected get experimentsEnabled(): boolean {
22-
return true;
22+
return !this.environmentService.disableExperiments;
2323
}
2424

2525
constructor(

src/vs/workbench/services/assignment/common/assignmentService.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { Registry } from '../../../../platform/registry/common/platform.js';
1818
import { BaseAssignmentService } from '../../../../platform/assignment/common/assignmentService.js';
1919
import { workbenchConfigurationNodeBase } from '../../../common/configuration.js';
2020
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from '../../../../platform/configuration/common/configurationRegistry.js';
21+
import { IWorkbenchEnvironmentService } from '../../environment/common/environmentService.js';
2122
import { IEnvironmentService } from '../../../../platform/environment/common/environment.js';
2223

2324
export const IWorkbenchAssignmentService = createDecorator<IWorkbenchAssignmentService>('WorkbenchAssignmentService');
@@ -86,7 +87,8 @@ export class WorkbenchAssignmentService extends BaseAssignmentService {
8687
@IStorageService storageService: IStorageService,
8788
@IConfigurationService configurationService: IConfigurationService,
8889
@IProductService productService: IProductService,
89-
@IEnvironmentService environmentService: IEnvironmentService
90+
@IEnvironmentService environmentService: IEnvironmentService,
91+
@IWorkbenchEnvironmentService private readonly workbenchEnvironmentService: IWorkbenchEnvironmentService
9092
) {
9193

9294
super(
@@ -100,7 +102,10 @@ export class WorkbenchAssignmentService extends BaseAssignmentService {
100102
}
101103

102104
protected override get experimentsEnabled(): boolean {
103-
return !this.environmentService.disableExperiments && this.configurationService.getValue('workbench.enableExperiments') === true;
105+
return !this.environmentService.disableExperiments &&
106+
!this.environmentService.extensionTestsLocationURI &&
107+
!this.workbenchEnvironmentService.enableSmokeTestDriver &&
108+
this.configurationService.getValue('workbench.enableExperiments') === true;
104109
}
105110

106111
override async getTreatment<T extends string | number | boolean>(name: string): Promise<T | undefined> {

src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,12 @@ export class CoreExperimentationService extends Disposable implements ICoreExper
8989
) {
9090
super();
9191

92-
if (environmentService.disableExperiments) {
93-
return; // explicitly disabled
92+
if (
93+
environmentService.disableExperiments ||
94+
environmentService.enableSmokeTestDriver ||
95+
environmentService.extensionTestsLocationURI
96+
) {
97+
return; //not applicable in this environment
9498
}
9599

96100
this.initializeExperiments();

0 commit comments

Comments
 (0)