Skip to content

Commit c8018a5

Browse files
Follow up fix for PR-705 (#776)
1 parent d9fe2ad commit c8018a5

File tree

4 files changed

+12
-16
lines changed

4 files changed

+12
-16
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ import org.utbot.engine.util.mockListeners.ForceStaticMockListener
5252
import org.utbot.framework.plugin.api.testFlow
5353
import org.utbot.framework.plugin.services.WorkingDirService
5454
import org.utbot.intellij.plugin.settings.Settings
55-
import org.utbot.intellij.plugin.ui.utils.isGradle
55+
import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle
5656
import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots
5757
import org.utbot.intellij.plugin.util.PluginWorkingDirProvider
5858
import org.utbot.intellij.plugin.util.isAbstract
@@ -86,7 +86,7 @@ object UtTestsDialogProcessor {
8686
// we want to start the child process in the same directory as the test runner
8787
WorkingDirService.workingDirProvider = PluginWorkingDirProvider(project)
8888

89-
if (project.isGradle() && testModules.flatMap { it.suitableTestSourceRoots() }.isEmpty()) {
89+
if (project.isBuildWithGradle && testModules.flatMap { it.suitableTestSourceRoots() }.isEmpty()) {
9090
val errorMessage = """
9191
<html>No test source roots found in the project.<br>
9292
Please, <a href="https://www.jetbrains.com/help/idea/testing.html#add-test-root">create or configure</a> at least one test source root.

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -130,7 +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
133+
import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle
134134
import org.utbot.intellij.plugin.ui.utils.kotlinTargetPlatform
135135
import org.utbot.intellij.plugin.ui.utils.parseVersion
136136
import org.utbot.intellij.plugin.ui.utils.testResourceRootTypes
@@ -436,7 +436,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
436436
val testRoot = getTestRoot()
437437
?: return ValidationInfo("Test source root is not configured", testSourceFolderField.childComponent)
438438

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

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ import org.jetbrains.kotlin.idea.util.projectStructure.allModules
1717
import org.utbot.common.PathUtil
1818
import org.utbot.intellij.plugin.models.GenerateTestsModel
1919
import org.utbot.intellij.plugin.ui.utils.addDedicatedTestRoot
20-
import org.utbot.intellij.plugin.ui.utils.isGradle
20+
import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle
2121
import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots
2222

2323
class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) : ComboboxWithBrowseButton() {
2424

2525
private val SET_TEST_FOLDER = "set test folder"
2626

2727
init {
28-
if (model.project.isGradle()) {
28+
if (model.project.isBuildWithGradle) {
2929
setButtonEnabled(false)
3030
button.toolTipText = "Please define custom test source root via Gradle"
3131
}
@@ -51,10 +51,10 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) : C
5151
}
5252
}
5353

54-
val testRoots = model.potentialTestModules
55-
.flatMap { it.suitableTestSourceRoots().toList() }
56-
.toMutableList()
54+
val suggestedModules =
55+
if (model.project.isBuildWithGradle) model.project.allModules() else model.potentialTestModules
5756

57+
val testRoots = suggestedModules.flatMap { it.suitableTestSourceRoots().toList() }.toMutableList()
5858
// this method is blocked for Gradle, where multiple test modules can exist
5959
model.testModule.addDedicatedTestRoot(testRoots)
6060

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

+3-7
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ 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
3534
import org.jetbrains.kotlin.platform.TargetPlatformVersion
3635

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

@@ -152,12 +147,13 @@ private fun Module.suitableTestSourceFolders(codegenLanguage: CodegenLanguage):
152147
// Heuristics: User is more likely to choose the shorter path
153148
.sortedBy { it.url.length }
154149
}
155-
fun Project.isGradle() = GradleProjectInfo.getInstance(this).isBuildWithGradle
150+
val Project.isBuildWithGradle
151+
get() = GradleProjectInfo.getInstance(this).isBuildWithGradle
156152

157153
private const val dedicatedTestSourceRootName = "utbot_tests"
158154
fun Module.addDedicatedTestRoot(testSourceRoots: MutableList<VirtualFile>): VirtualFile? {
159155
// Don't suggest new test source roots for Gradle project where 'unexpected' test roots won't work
160-
if (project.isGradle()) return null
156+
if (project.isBuildWithGradle) return null
161157
// Dedicated test root already exists
162158
if (testSourceRoots.any { file -> file.name == dedicatedTestSourceRootName }) return null
163159

0 commit comments

Comments
 (0)