Skip to content

Commit 6acc38c

Browse files
UI. Gradle project. Suggest all Test sources roots for test generation #549 (#705)
* UI. Gradle project. Suggest all Test sources roots for test generation #549 * Attempts to improve the logic Co-authored-by: Egor Kulikov <[email protected]>
1 parent 0bbae2a commit 6acc38c

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ import org.utbot.intellij.plugin.ui.utils.addSourceRootIfAbsent
130130
import org.utbot.intellij.plugin.ui.utils.allLibraries
131131
import org.utbot.intellij.plugin.ui.utils.findFrameworkLibrary
132132
import org.utbot.intellij.plugin.ui.utils.getOrCreateTestResourcesPath
133+
import org.utbot.intellij.plugin.ui.utils.isGradle
133134
import org.utbot.intellij.plugin.ui.utils.kotlinTargetPlatform
134135
import org.utbot.intellij.plugin.ui.utils.parseVersion
135136
import org.utbot.intellij.plugin.ui.utils.testResourceRootTypes
@@ -435,7 +436,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
435436
val testRoot = getTestRoot()
436437
?: return ValidationInfo("Test source root is not configured", testSourceFolderField.childComponent)
437438

438-
if (findReadOnlyContentEntry(testRoot) == null) {
439+
if (!model.project.isGradle() && findReadOnlyContentEntry(testRoot) == null) {
439440
return ValidationInfo("Test source root is located out of content entry", testSourceFolderField.childComponent)
440441
}
441442

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.intellij.util.ArrayUtil
1313
import java.io.File
1414
import javax.swing.DefaultComboBoxModel
1515
import javax.swing.JList
16+
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
1617
import org.utbot.common.PathUtil
1718
import org.utbot.intellij.plugin.models.GenerateTestsModel
1819
import org.utbot.intellij.plugin.ui.utils.addDedicatedTestRoot
@@ -50,7 +51,9 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) : C
5051
}
5152
}
5253

53-
val testRoots = model.potentialTestModules.flatMap { it.suitableTestSourceRoots().toMutableList() }.toMutableList()
54+
val testRoots = model.potentialTestModules
55+
.flatMap { it.suitableTestSourceRoots().toList() }
56+
.toMutableList()
5457

5558
// this method is blocked for Gradle, where multiple test modules can exist
5659
model.testModule.addDedicatedTestRoot(testRoots)

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt

+5
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import org.jetbrains.android.sdk.AndroidSdkType
3131
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
3232
import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider
3333
import org.jetbrains.kotlin.config.TestResourceKotlinRootType
34+
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
3435
import org.jetbrains.kotlin.platform.TargetPlatformVersion
3536

3637
private val logger = KotlinLogging.logger {}
@@ -86,6 +87,10 @@ fun Module.getOrCreateSarifReportsPath(testSourceRoot: VirtualFile?): Path {
8687
* Find test modules by current source module.
8788
*/
8889
fun Module.testModules(project: Project): List<Module> {
90+
if (project.isGradle()) {
91+
return project.allModules()
92+
}
93+
8994
var testModules = findPotentialModulesForTests(project, this)
9095
val testRootUrls = testModules.flatMap { it.suitableTestSourceRoots() }
9196

0 commit comments

Comments
 (0)