From 65e763d562572fdd3c874f6d7ce5c03bfaccc6d1 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 11 Jul 2018 17:38:19 +0300 Subject: [PATCH] Misc: Fix flaky test failing due to unstable ordering of libraries --- .../kotlin/idea/configuration/ConfigureKotlinTest.java | 8 ++++++-- .../idea/configuration/ConfigureKotlinTest.java.182 | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java index 6f217a45fde..449b59c4b5d 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java @@ -31,6 +31,7 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiJavaModule; import com.intellij.psi.PsiRequiresStatement; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments; import org.jetbrains.kotlin.config.*; @@ -40,7 +41,6 @@ import org.jetbrains.kotlin.idea.facet.KotlinFacet; import org.jetbrains.kotlin.idea.framework.JSLibraryKind; import org.jetbrains.kotlin.idea.framework.JsLibraryStdDetectionUtil; import org.jetbrains.kotlin.idea.framework.LibraryEffectiveKindProviderKt; -import org.jetbrains.kotlin.idea.framework.LibraryKindsKt; import org.jetbrains.kotlin.idea.project.PlatformKt; import org.jetbrains.kotlin.idea.util.Java9StructureUtilKt; import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtilKt; @@ -193,8 +193,12 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { assertEquals("1.0.6", version); } + @SuppressWarnings("ConstantConditions") public void testMavenProvidedTestJsKind() { - LibraryEx jsTest = (LibraryEx) KotlinRuntimeLibraryUtilKt.findAllUsedLibraries(myProject).keySet().toArray()[1]; + LibraryEx jsTest = (LibraryEx) ContainerUtil.find( + KotlinRuntimeLibraryUtilKt.findAllUsedLibraries(myProject).keySet(), + (library) -> library.getName().contains("kotlin-test-js") + ); assertEquals(RepositoryLibraryType.REPOSITORY_LIBRARY_KIND, jsTest.getKind()); assertEquals(JSLibraryKind.INSTANCE, LibraryEffectiveKindProviderKt.effectiveKind(jsTest, myProject)); } diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.182 b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.182 index b58298b83ef..fa3e7cb1485 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.182 +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.182 @@ -31,6 +31,7 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiJavaModule; import com.intellij.psi.PsiRequiresStatement; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments; import org.jetbrains.kotlin.config.*; @@ -40,7 +41,6 @@ import org.jetbrains.kotlin.idea.facet.KotlinFacet; import org.jetbrains.kotlin.idea.framework.JSLibraryKind; import org.jetbrains.kotlin.idea.framework.JsLibraryStdDetectionUtil; import org.jetbrains.kotlin.idea.framework.LibraryEffectiveKindProviderKt; -import org.jetbrains.kotlin.idea.framework.LibraryKindsKt; import org.jetbrains.kotlin.idea.project.PlatformKt; import org.jetbrains.kotlin.idea.util.Java9StructureUtilKt; import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtilKt; @@ -193,8 +193,12 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { assertEquals("1.0.6", version); } + @SuppressWarnings("ConstantConditions") public void testMavenProvidedTestJsKind() { - LibraryEx jsTest = (LibraryEx) KotlinRuntimeLibraryUtilKt.findAllUsedLibraries(myProject).keySet().toArray()[1]; + LibraryEx jsTest = (LibraryEx) ContainerUtil.find( + KotlinRuntimeLibraryUtilKt.findAllUsedLibraries(myProject).keySet(), + (library) -> library.getName().contains("kotlin-test-js") + ); assertEquals(RepositoryLibraryType.REPOSITORY_LIBRARY_KIND, jsTest.getKind()); assertEquals(JSLibraryKind.INSTANCE, LibraryEffectiveKindProviderKt.effectiveKind(jsTest, myProject)); }