From a2a3ca0558efe8f07478af05ea8339b8463372e8 Mon Sep 17 00:00:00 2001 From: Vladimir Ilmov Date: Wed, 15 Jan 2020 16:01:31 +0100 Subject: [PATCH] Flaky ConcurrentModificationException in NewMultiplatformProjectImportingTest.testFileCollectionDependency fixed --- .../gradle/ExternalSystemImportingTestCase.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java index bb5c178268e..91921f3626d 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java @@ -36,6 +36,7 @@ import com.intellij.openapi.roots.*; import com.intellij.openapi.util.Couple; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.ContainerUtilRt; import org.jetbrains.annotations.NonNls; @@ -150,6 +151,14 @@ public abstract class ExternalSystemImportingTestCase extends ExternalSystemTest field.getName()); } } + else if (fieldValue instanceof Map && ! (fieldValue instanceof ConcurrentWeakKeySoftValueHashMap)) { + for (Map.Entry e : ((Map) fieldValue).entrySet()) { + saveToProcessIfRequired(processed, toProcess, referencingObjects, referencingFieldNames, nextObject, e.getKey(), + field.getName()); + saveToProcessIfRequired(processed, toProcess, referencingObjects, referencingFieldNames, nextObject, e.getValue(), + "value" + field.getName()); + } + } else { saveToProcessIfRequired(processed, toProcess, referencingObjects, referencingFieldNames, nextObject, fieldValue, field.getName());