diff --git a/.idea/modules.xml b/.idea/modules.xml
index dfd33c37a5e9..9368795b1de5 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -920,6 +920,7 @@
+
diff --git a/intellij.idea.community.main.iml b/intellij.idea.community.main.iml
index 6143595d79b5..0d872a95d0f4 100644
--- a/intellij.idea.community.main.iml
+++ b/intellij.idea.community.main.iml
@@ -197,6 +197,7 @@
+
diff --git a/java/java-tests/intellij.java.tests.iml b/java/java-tests/intellij.java.tests.iml
index 3befea2db465..16867641a1db 100644
--- a/java/java-tests/intellij.java.tests.iml
+++ b/java/java-tests/intellij.java.tests.iml
@@ -63,7 +63,6 @@
-
diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt
index 0148f370060f..bbc1c3c59884 100644
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt
@@ -147,7 +147,7 @@ abstract class BaseIdeaProperties : ProductProperties() {
"intellij.platform.testFramework.common",
"intellij.platform.testFramework.junit5",
"intellij.platform.testFramework",
- "intellij.platform.uast.tests",
+ "intellij.platform.uast.testFramework",
"intellij.tools.testsBootstrap",
)) {
if (!productLayout.productApiModules.contains(moduleName) && !productLayout.productImplementationModules.contains(moduleName)) {
diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/ModuleStructureValidator.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/ModuleStructureValidator.kt
index 023925dba77a..8ec04858efa8 100644
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/ModuleStructureValidator.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/ModuleStructureValidator.kt
@@ -37,7 +37,7 @@ private val nonPathAttributes = hashSetOf(
private val pathElements = hashSetOf("interface-class", "implementation-class")
private val predefinedTypes = hashSetOf("java.lang.Object")
-private val ignoreModules = hashSetOf("intellij.java.testFramework", "intellij.platform.uast.tests")
+private val ignoreModules = hashSetOf("intellij.java.testFramework", "intellij.platform.uast.testFramework")
class ModuleStructureValidator(private val context: BuildContext, modules: Collection) {
// filter out jars with relative paths in name
diff --git a/plugins/groovy/groovy-uast-tests/intellij.groovy.uast.tests.iml b/plugins/groovy/groovy-uast-tests/intellij.groovy.uast.tests.iml
index 07667bd0bb4f..e798a9bac60f 100644
--- a/plugins/groovy/groovy-uast-tests/intellij.groovy.uast.tests.iml
+++ b/plugins/groovy/groovy-uast-tests/intellij.groovy.uast.tests.iml
@@ -10,7 +10,7 @@
-
+
diff --git a/plugins/kotlin/uast/uast-kotlin-base/tests/kotlin.uast.uast-kotlin-base.tests.iml b/plugins/kotlin/uast/uast-kotlin-base/tests/kotlin.uast.uast-kotlin-base.tests.iml
index b4fafc4917e6..a9c8c4d6c851 100644
--- a/plugins/kotlin/uast/uast-kotlin-base/tests/kotlin.uast.uast-kotlin-base.tests.iml
+++ b/plugins/kotlin/uast/uast-kotlin-base/tests/kotlin.uast.uast-kotlin-base.tests.iml
@@ -14,7 +14,7 @@
-
+
diff --git a/plugins/kotlin/uast/uast-kotlin-idea/tests/kotlin.uast.uast-kotlin-idea.tests.iml b/plugins/kotlin/uast/uast-kotlin-idea/tests/kotlin.uast.uast-kotlin-idea.tests.iml
index 7f41c9c02a0f..937be09f960b 100644
--- a/plugins/kotlin/uast/uast-kotlin-idea/tests/kotlin.uast.uast-kotlin-idea.tests.iml
+++ b/plugins/kotlin/uast/uast-kotlin-idea/tests/kotlin.uast.uast-kotlin-idea.tests.iml
@@ -18,7 +18,7 @@
-
+
diff --git a/plugins/kotlin/uast/uast-kotlin/tests/kotlin.uast.uast-kotlin.tests.iml b/plugins/kotlin/uast/uast-kotlin/tests/kotlin.uast.uast-kotlin.tests.iml
index f5076e99ecb1..07698cfeecbf 100644
--- a/plugins/kotlin/uast/uast-kotlin/tests/kotlin.uast.uast-kotlin.tests.iml
+++ b/plugins/kotlin/uast/uast-kotlin/tests/kotlin.uast.uast-kotlin.tests.iml
@@ -29,7 +29,7 @@
-
+
diff --git a/uast/testFramework/intellij.platform.uast.testFramework.iml b/uast/testFramework/intellij.platform.uast.testFramework.iml
new file mode 100644
index 000000000000..469bc75d433e
--- /dev/null
+++ b/uast/testFramework/intellij.platform.uast.testFramework.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/AllUastTypes.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/AllUastTypes.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/AllUastTypes.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/AllUastTypes.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/CommentsTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/CommentsTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/CommentsTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/CommentsTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/DeadUastLanguagePlugin.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/DeadUastLanguagePlugin.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/DeadUastLanguagePlugin.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/DeadUastLanguagePlugin.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/IdentifiersTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/IdentifiersTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/IdentifiersTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/IdentifiersTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/NestedMaps.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/NestedMaps.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/NestedMaps.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/NestedMaps.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/PossibleSourceTypesTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/PossibleSourceTypesTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/PossibleSourceTypesTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/PossibleSourceTypesTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/RenderLogTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/RenderLogTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/RenderLogTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/RenderLogTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/ResolveTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/ResolveTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/ResolveTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/ResolveTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/TypesTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/TypesTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/TypesTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/TypesTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/UastMappingsAccountant.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/UastMappingsAccountant.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/UastMappingsAccountant.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/UastMappingsAccountant.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/UastMappingsAccountantTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/UastMappingsAccountantTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/UastMappingsAccountantTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/UastMappingsAccountantTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/common/ValuesTestBase.kt b/uast/testFramework/src/org/jetbrains/uast/test/common/ValuesTestBase.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/common/ValuesTestBase.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/common/ValuesTestBase.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/env/AbstractCoreEnvironment.kt b/uast/testFramework/src/org/jetbrains/uast/test/env/AbstractCoreEnvironment.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/env/AbstractCoreEnvironment.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/env/AbstractCoreEnvironment.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/env/AbstractLargeProjectTest.kt b/uast/testFramework/src/org/jetbrains/uast/test/env/AbstractLargeProjectTest.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/env/AbstractLargeProjectTest.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/env/AbstractLargeProjectTest.kt
diff --git a/uast/uast-tests/src/org/jetbrains/uast/test/env/AbstractUastTest.kt b/uast/testFramework/src/org/jetbrains/uast/test/env/AbstractUastTest.kt
similarity index 100%
rename from uast/uast-tests/src/org/jetbrains/uast/test/env/AbstractUastTest.kt
rename to uast/testFramework/src/org/jetbrains/uast/test/env/AbstractUastTest.kt
diff --git a/uast/uast-tests/intellij.platform.uast.tests.iml b/uast/uast-tests/intellij.platform.uast.tests.iml
index 2f09337c8342..387ce1bbe832 100644
--- a/uast/uast-tests/intellij.platform.uast.tests.iml
+++ b/uast/uast-tests/intellij.platform.uast.tests.iml
@@ -3,7 +3,6 @@
-
@@ -16,6 +15,7 @@
+