From 2a399e98ca4eafb33b2ce27bbd837d123f749e58 Mon Sep 17 00:00:00 2001 From: Elena Shaverdova Date: Tue, 28 Feb 2023 14:06:26 +0100 Subject: [PATCH] Fix PyCharm perf tests with "setSdk: sdk is not registered in ProjectJdkTable" GitOrigin-RevId: 0e2cd067a6836d9b3f30760c5f6aa59ef04761b9 --- .../jetbrains/python/tools/sdkTools/PySdkTools.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/python/testFramework/src/com/jetbrains/python/tools/sdkTools/PySdkTools.java b/python/testFramework/src/com/jetbrains/python/tools/sdkTools/PySdkTools.java index 68df98fd41e8..78cb0c518276 100644 --- a/python/testFramework/src/com/jetbrains/python/tools/sdkTools/PySdkTools.java +++ b/python/testFramework/src/com/jetbrains/python/tools/sdkTools/PySdkTools.java @@ -63,21 +63,20 @@ public final class PySdkTools { ref.set(sdk); }); final Sdk sdk = ref.get(); + if (sdk != null) { + ApplicationManager.getApplication().invokeAndWait(() -> SdkConfigurationUtil.addSdk(sdk)); + if (parentDisposable != null) { + Disposer.register(parentDisposable, () -> WriteAction.runAndWait(() -> ProjectJdkTable.getInstance().removeJdk(sdk))); + } + } if (sdkCreationType != SdkCreationType.EMPTY_SDK) { try { - if (sdk != null && parentDisposable != null) { - Disposer.register(parentDisposable, () -> WriteAction.runAndWait(() -> ProjectJdkTable.getInstance().removeJdk(sdk))); - } generateTempSkeletonsOrPackages(sdk, sdkCreationType == SdkCreationType.SDK_PACKAGES_AND_SKELETONS, module); } catch (ExecutionException e) { throw new InvalidSdkException("Can't generate skeleton packages", e); } } - //do not register sdk twice - if (module == null || sdkCreationType == SdkCreationType.EMPTY_SDK) { - ApplicationManager.getApplication().invokeAndWait(() -> SdkConfigurationUtil.addSdk(sdk)); - } return sdk; }