()
| 72 | await closeNotebooksAndCleanUpAfterTests(disposables); |
| 73 | }); |
| 74 | async function preSwitch() { |
| 75 | const pythonApi = await pythonApiProvider.getNewApi(); |
| 76 | await pythonApi?.environments.refreshEnvironments({ forceRefresh: true }); |
| 77 | const interpreterService = api.serviceContainer.get<IInterpreterService>(IInterpreterService); |
| 78 | await waitForCondition( |
| 79 | () => { |
| 80 | const venvNoKernelInterpreter = getCachedEnvironments().find((i) => |
| 81 | getFilePath(i.executable.uri).includes('.venvnokernel') |
| 82 | ); |
| 83 | const venvKernelInterpreter = getCachedEnvironments().find((i) => |
| 84 | getFilePath(i.executable.uri).includes('.venvkernel') |
| 85 | ); |
| 86 | return venvNoKernelInterpreter && venvKernelInterpreter ? true : false; |
| 87 | }, |
| 88 | defaultNotebookTestTimeout, |
| 89 | 'Waiting for interpreters to be discovered' |
| 90 | ); |
| 91 | const venvNoKernelInterpreter = getCachedEnvironments().find((i) => |
| 92 | getFilePath(i.executable.uri).includes('.venvnokernel') |
| 93 | ); |
| 94 | const venvKernelInterpreter = getCachedEnvironments().find((i) => |
| 95 | getFilePath(i.executable.uri).includes('.venvkernel') |
| 96 | ); |
| 97 | |
| 98 | if (!venvNoKernelInterpreter || !venvKernelInterpreter) { |
| 99 | throw new Error( |
| 100 | `Unable to find matching kernels. List of kernels is ${getCachedEnvironments() |
| 101 | .map((i) => getFilePath(i.executable.uri)) |
| 102 | .join('\n')}` |
| 103 | ); |
| 104 | } |
| 105 | venNoKernelPath = venvNoKernelInterpreter.executable.uri!; |
| 106 | venvKernelPath = venvKernelInterpreter.executable.uri!; |
| 107 | originalActiveInterpreter = await interpreterService.getActiveInterpreter(); |
| 108 | |
| 109 | // No kernel should not have ipykernel in it yet, but we need two, so install it. |
| 110 | await installIPyKernel(venNoKernelPath.fsPath); |
| 111 | assert.ok(originalActiveInterpreter, `No active interpreter when running switch test`); |
| 112 | } |
| 113 | async function postSwitch() { |
| 114 | await uninstallIPyKernel(venNoKernelPath.fsPath); |
| 115 | await setActiveInterpreter(pythonApiProvider, undefined, originalActiveInterpreter?.uri); |
no test coverage detected