diff --git a/python/testSrc/com/jetbrains/python/sdk/PySdkPathsTest.kt b/python/testSrc/com/jetbrains/python/sdk/PySdkPathsTest.kt index 09e33bd1d94b..e1c9e4312085 100644 --- a/python/testSrc/com/jetbrains/python/sdk/PySdkPathsTest.kt +++ b/python/testSrc/com/jetbrains/python/sdk/PySdkPathsTest.kt @@ -138,122 +138,6 @@ class PySdkPathsTest { checkRoots(simpleSdk, module, listOf(moduleRoot), emptyList()) } - @Test - fun userAddedViaEditableSdkWithSharedData() { - // emulates com.jetbrains.python.configuration.PythonSdkDetailsDialog.ShowPathButton.actionPerformed - - val (module, moduleRoot) = createModule() - val userAddedPath = createSubdir(moduleRoot) - - mockPythonPluginDisposable() - - val pythonVersion = LanguageLevel.getDefault().toPythonVersion() - val sdk = PythonMockSdk.create(pythonVersion) - registerSdk(sdk) - module.pythonSdk = sdk - - IndexingTestUtil.waitUntilIndexesAreReady(module.project) - sdk.putUserData(PythonSdkType.MOCK_PY_VERSION_KEY, pythonVersion) - - val projectSdksModel = PyConfigurableInterpreterList.getInstance(projectModel.project).model - val editableSdk = projectSdksModel.findSdk(sdk.name) - editableSdk!!.putUserData(PythonSdkType.MOCK_PY_VERSION_KEY, pythonVersion) - - // --- ADD path --- - editableSdk.sdkModificator.apply { - (sdkAdditionalData as PythonSdkAdditionalData).setAddedPathsFromVirtualFiles(setOf(userAddedPath)) - runWriteActionAndWait { - commitChanges() - projectSdksModel.apply() - } - } - - updateSdkPaths(editableSdk) - updateSdkPaths(sdk) - - checkRoots(sdk, module, listOf(moduleRoot, userAddedPath), emptyList()) - - // --- REMOVE path --- - editableSdk.sdkModificator.apply { - (sdkAdditionalData as PythonSdkAdditionalData).setAddedPathsFromVirtualFiles(emptySet()) - runWriteActionAndWait { - commitChanges() - projectSdksModel.apply() - } - } - - updateSdkPaths(editableSdk) - updateSdkPaths(sdk) - - checkRoots(sdk, module, listOf(moduleRoot), emptyList()) - - runWriteActionAndWait { ProjectJdkTable.getInstance().removeJdk(sdk) } - } - - @Test - fun userAddedViaEditableSdkWithoutSharedData() { - // emulates com.jetbrains.python.configuration.PythonSdkDetailsDialog.ShowPathButton.actionPerformed - - val (module, moduleRoot) = createModule() - - val sdkPath = createVenvStructureInModule(moduleRoot).path - - val userAddedPath = createSubdir(moduleRoot) - - val pythonVersion = LanguageLevel.getDefault().toPythonVersion() - - val sdk = ProjectJdkTable.getInstance().createSdk("Mock ${PyNames.PYTHON_SDK_ID_NAME} $pythonVersion", PythonSdkType.getInstance()) - sdk.sdkModificator.apply { - versionString = pythonVersion - homePath = "$sdkPath/bin/python" - runWriteActionAndWait { commitChanges() } - } - - registerSdk(sdk) - module.pythonSdk = sdk - IndexingTestUtil.waitUntilIndexesAreReady(module.project) - sdk.putUserData(PythonSdkType.MOCK_PY_VERSION_KEY, pythonVersion) - - val projectSdksModel = PyConfigurableInterpreterList.getInstance(projectModel.project).model - val editableSdk = projectSdksModel.findSdk(sdk.name) - editableSdk!!.putUserData(PythonSdkType.MOCK_PY_VERSION_KEY, pythonVersion) - - // --- ADD path --- - editableSdk.sdkModificator.apply { - assertThat(sdkAdditionalData).isNull() - mockPythonPluginDisposable() - sdkAdditionalData = PythonSdkAdditionalData().apply { - setAddedPathsFromVirtualFiles(setOf(userAddedPath)) - } - runWriteActionAndWait { - commitChanges() - ProjectJdkTable.getInstance().updateJdk(sdk, editableSdk) - } - } - - updateSdkPaths(editableSdk) - updateSdkPaths(sdk) - - checkRoots(sdk, module, listOf(moduleRoot, userAddedPath), emptyList()) - - // --- REMOVE path --- - editableSdk.sdkModificator.apply { - (sdkAdditionalData as PythonSdkAdditionalData).setAddedPathsFromVirtualFiles(emptySet()) - runWriteActionAndWait { - commitChanges() - projectSdksModel.apply() - } - } - - updateSdkPaths(editableSdk) - - updateSdkPaths(sdk) // after updateJdk call editableSdk and sdk share the same data - - checkRoots(sdk, module, listOf(moduleRoot), emptyList()) - - runWriteActionAndWait { ProjectJdkTable.getInstance().removeJdk(sdk) } - } - @Test fun sysPathEntryInModuleAndSdkInModuleButEntryNotInSdk() { val (module, moduleRoot) = createModule()