mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Migrate to PyResult
GitOrigin-RevId: 1e89a6eebccaf3fa42b3d64c7e483af29583b8d6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
58f847285d
commit
2a0d551f3c
+4
-2
@@ -5,14 +5,16 @@ import com.intellij.platform.eel.EelApi
|
||||
import com.intellij.platform.eel.provider.localEel
|
||||
import com.intellij.python.community.services.systemPython.SystemPythonProvider
|
||||
import com.jetbrains.python.PythonBinary
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import com.jetbrains.python.sdk.flavors.PythonSdkFlavor
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
||||
/**
|
||||
* [SystemPythonProvider] based ob [PythonSdkFlavor] (kind of a bridge)
|
||||
* [SystemPythonProvider] based ob [PythonSdkFlavor] (kind of bridge)
|
||||
*/
|
||||
internal object CoreSystemPythonProvider : SystemPythonProvider {
|
||||
override suspend fun findSystemPythons(eelApi: EelApi): Result<Set<PythonBinary>> {
|
||||
override suspend fun findSystemPythons(eelApi: EelApi): PyResult<Set<PythonBinary>> {
|
||||
if (eelApi != localEel) return Result.success(emptySet())
|
||||
with(Dispatchers.IO) {
|
||||
val paths = PythonSdkFlavor.getApplicableFlavors(false)
|
||||
|
||||
+2
-1
@@ -5,6 +5,7 @@ import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.platform.eel.EelApi
|
||||
import com.intellij.python.community.services.systemPython.SystemPythonProvider.Companion.EP
|
||||
import com.jetbrains.python.PythonBinary
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
|
||||
/**
|
||||
* Register [EP] to [findSystemPythons]
|
||||
@@ -19,5 +20,5 @@ interface SystemPythonProvider {
|
||||
*/
|
||||
val uiCustomization: UICustomization? get() = null
|
||||
|
||||
suspend fun findSystemPythons(eelApi: EelApi): Result<Set<PythonBinary>>
|
||||
suspend fun findSystemPythons(eelApi: EelApi): PyResult<Set<PythonBinary>>
|
||||
}
|
||||
+1
@@ -18,6 +18,7 @@ import com.intellij.python.community.services.systemPython.impl.CoreSystemPython
|
||||
import com.jetbrains.python.PythonBinary
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import com.jetbrains.python.getOrNull
|
||||
import com.jetbrains.python.sdk.installer.installBinary
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
|
||||
+6
-1
@@ -5,6 +5,8 @@ import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.diagnostic.fileLogger
|
||||
import com.intellij.openapi.util.SystemInfo
|
||||
import com.intellij.platform.eel.ExecuteProcessException
|
||||
import com.intellij.platform.eel.ThrowsChecked
|
||||
import com.intellij.platform.eel.provider.getEelDescriptor
|
||||
import com.intellij.platform.eel.provider.utils.readWholeText
|
||||
import com.intellij.platform.eel.spawnProcess
|
||||
@@ -21,6 +23,8 @@ import com.intellij.testFramework.common.timeoutRunBlocking
|
||||
import com.intellij.testFramework.junit5.RegistryKey
|
||||
import com.intellij.testFramework.junit5.TestDisposable
|
||||
import com.intellij.testFramework.registerExtension
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.errorProcessing.MessageError
|
||||
import com.jetbrains.python.getOrThrow
|
||||
import com.jetbrains.python.sdk.flavors.PythonSdkFlavor
|
||||
import com.jetbrains.python.venvReader.VirtualEnvReader
|
||||
@@ -42,6 +46,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||
@PyEnvTestCase
|
||||
class SystemPythonServiceShowCaseTest {
|
||||
|
||||
@ThrowsChecked(ExecuteProcessException::class)
|
||||
@Test
|
||||
fun testListPythons(): Unit = timeoutRunBlocking(10.minutes) {
|
||||
for (systemPython in SystemPythonService().findSystemPythons(forceRefresh = true)) {
|
||||
@@ -87,7 +92,7 @@ class SystemPythonServiceShowCaseTest {
|
||||
@Test
|
||||
fun testRefresh(@TestDisposable disposable: Disposable): Unit = timeoutRunBlocking(10.minutes) {
|
||||
val mockProvider = mockk<SystemPythonProvider>()
|
||||
coEvery { mockProvider.findSystemPythons(any()) } returns Result.failure(java.lang.AssertionError("..."))
|
||||
coEvery { mockProvider.findSystemPythons(any()) } returns Result.failure(MessageError("..."))
|
||||
coEvery { mockProvider.uiCustomization } returns null
|
||||
val sut = SystemPythonService()
|
||||
sut.findSystemPythons()
|
||||
|
||||
+1
@@ -13,6 +13,7 @@ import com.intellij.testFramework.common.timeoutRunBlocking
|
||||
import com.intellij.testFramework.junit5.TestDisposable
|
||||
import com.intellij.testFramework.registerExtension
|
||||
import com.jetbrains.python.PythonBinary
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.getOrThrow
|
||||
import io.mockk.coEvery
|
||||
import io.mockk.mockk
|
||||
|
||||
+3
-1
@@ -9,6 +9,8 @@ import com.intellij.python.community.services.systemPython.SystemPythonProvider
|
||||
import com.intellij.python.community.testFramework.testEnv.TypeVanillaPython
|
||||
import com.intellij.python.community.testFramework.testEnv.TypeVanillaPython3
|
||||
import com.jetbrains.python.PythonBinary
|
||||
import com.jetbrains.python.Result
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.merge
|
||||
import kotlinx.coroutines.flow.toSet
|
||||
@@ -17,7 +19,7 @@ import kotlinx.coroutines.flow.toSet
|
||||
* Register tests pythons as system pythons
|
||||
*/
|
||||
internal class EnvTestPythonProvider : SystemPythonProvider {
|
||||
override suspend fun findSystemPythons(eelApi: EelApi): Result<Set<PythonBinary>> {
|
||||
override suspend fun findSystemPythons(eelApi: EelApi): PyResult<Set<PythonBinary>> {
|
||||
var pythons = emptySet<PythonBinary>()
|
||||
if (eelApi == localEel) {
|
||||
// Add Py27 temporary to test Py27
|
||||
|
||||
Reference in New Issue
Block a user