Skip to content

Commit 1399aa7

Browse files
authored
Use new filesystem in DataScience functional tests (#9839)
1 parent 35d6f66 commit 1399aa7

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

src/test/datascience/dataScienceIocContainer.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ import { PersistentStateFactory } from '../../client/common/persistentState';
9292
import { IS_WINDOWS } from '../../client/common/platform/constants';
9393
import { PathUtils } from '../../client/common/platform/pathUtils';
9494
import { RegistryImplementation } from '../../client/common/platform/registry';
95-
import { IRegistry } from '../../client/common/platform/types';
95+
import { IFileSystem, IRegistry } from '../../client/common/platform/types';
9696
import { CurrentProcess } from '../../client/common/process/currentProcess';
9797
import { BufferDecoder } from '../../client/common/process/decoder';
9898
import { ProcessLogger } from '../../client/common/process/logger';
@@ -289,6 +289,7 @@ import { MockCustomEditorService } from './mockCustomEditorService';
289289
import { MockDebuggerService } from './mockDebugService';
290290
import { MockDocumentManager } from './mockDocumentManager';
291291
import { MockExtensions } from './mockExtensions';
292+
import { MockFileSystem } from './mockFileSystem';
292293
import { MockJupyterManager, SupportedCommands } from './mockJupyterManager';
293294
import { MockJupyterManagerFactory } from './mockJupyterManagerFactory';
294295
import { MockLanguageServerAnalysisOptions } from './mockLanguageServerAnalysisOptions';
@@ -408,6 +409,7 @@ export class DataScienceIocContainer extends UnitTestIocContainer {
408409
const testWorkspaceFolder = path.join(EXTENSION_ROOT_DIR, 'src', 'test', 'datascience');
409410

410411
this.registerFileSystemTypes();
412+
this.serviceManager.rebindInstance<IFileSystem>(IFileSystem, new MockFileSystem());
411413
this.serviceManager.addSingleton<IJupyterExecution>(IJupyterExecution, JupyterExecutionFactory);
412414
this.serviceManager.addSingleton<IInteractiveWindowProvider>(IInteractiveWindowProvider, TestInteractiveWindowProvider);
413415
this.serviceManager.addSingleton<IDataViewerProvider>(IDataViewerProvider, DataViewerProvider);
@@ -763,6 +765,10 @@ export class DataScienceIocContainer extends UnitTestIocContainer {
763765
this.addInterpreter(this.workingPython2, SupportedCommands.all);
764766
this.addInterpreter(this.workingPython, SupportedCommands.all);
765767
}
768+
public setFileContents(uri: Uri, contents: string) {
769+
const fileSystem = this.serviceManager.get<IFileSystem>(IFileSystem) as MockFileSystem;
770+
fileSystem.addFileContents(uri.fsPath, contents);
771+
}
766772

767773
public async activate(): Promise<void> {
768774
// Activate all of the extension activation services

src/test/datascience/mockFileSystem.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
// Licensed under the MIT License.
33
'use strict';
44

5-
import { FileSystem } from '../../client/common/platform/fileSystem';
5+
import { LegacyFileSystem } from '../serviceRegistry';
66

7-
export class MockFileSystem extends FileSystem {
7+
export class MockFileSystem extends LegacyFileSystem {
88
private contentOverloads = new Map<string, string>();
99

1010
constructor() {

src/test/serviceRegistry.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ import { IServiceContainer, IServiceManager } from '../client/ioc/types';
6767
import { registerTypes as lintersRegisterTypes } from '../client/linters/serviceRegistry';
6868
import { TEST_OUTPUT_CHANNEL } from '../client/testing/common/constants';
6969
import { registerTypes as unittestsRegisterTypes } from '../client/testing/serviceRegistry';
70-
import { MockFileSystem } from './datascience/mockFileSystem';
7170
import { MockOutputChannel } from './mockClasses';
7271
import { MockAutoSelectionService } from './mocks/autoSelector';
7372
import { MockMemento } from './mocks/mementos';
@@ -95,7 +94,7 @@ class FakeVSCodeFileSystemAPI {
9594
return convertStat(stat, filetype);
9695
}
9796
}
98-
class LegacyFileSystem extends FileSystem {
97+
export class LegacyFileSystem extends FileSystem {
9998
constructor() {
10099
super();
101100
const vscfs = new FakeVSCodeFileSystemAPI();
@@ -154,10 +153,6 @@ export class IocContainer {
154153
this.registerFileSystemTypes();
155154
}
156155
}
157-
public setFileContents(uri: Uri, contents: string) {
158-
const fileSystem = this.serviceManager.get<IFileSystem>(IFileSystem) as MockFileSystem;
159-
fileSystem.addFileContents(uri.fsPath, contents);
160-
}
161156
public registerFileSystemTypes() {
162157
this.serviceManager.addSingleton<IPlatformService>(IPlatformService, PlatformService);
163158
this.serviceManager.addSingleton<IFileSystem>(

0 commit comments

Comments
 (0)