mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
build scripts: use default values of JUnit run configuration options if they are missing in xml file (IDEA-201665)
This commit is contained in:
@@ -27,7 +27,7 @@ class JUnitRunConfigurationProperties extends RunConfigurationProperties {
|
||||
messages.error("Cannot run configuration from '$file.name': module name is not specified")
|
||||
}
|
||||
Map<String, String> options = configuration.option?.collectEntries { [it.@name, it.@value] }
|
||||
def testKind = options["TEST_OBJECT"]
|
||||
def testKind = options["TEST_OBJECT"] ?: "class"
|
||||
List<String> testClassPatterns
|
||||
if (testKind == "class") {
|
||||
testClassPatterns = [options["MAIN_CLASS_NAME"]]
|
||||
@@ -53,7 +53,7 @@ class JUnitRunConfigurationProperties extends RunConfigurationProperties {
|
||||
find { it.@name == "BuildArtifacts" && it.@enabled == "true" }?.
|
||||
artifact?.collect { it.@name } ?: []
|
||||
|
||||
def vmParameters = options["VM_PARAMETERS"].tokenize()
|
||||
def vmParameters = (options["VM_PARAMETERS"] ?: "-ea").tokenize()
|
||||
def envVariables = first(configuration.envs)?.env?.collectEntries { [it.@name, it.@value] } ?: [:]
|
||||
return new JUnitRunConfigurationProperties(configuration.@name, moduleName, testClassPatterns, vmParameters, requiredArtifacts, envVariables)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="test default options" type="JUnit" factoryName="JUnit">
|
||||
<module name="main-module"/>
|
||||
<option name="MAIN_CLASS_NAME" value="com.example.test.MainTest"/>
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/bin"/>
|
||||
</configuration>
|
||||
</component>
|
||||
@@ -46,6 +46,13 @@ class JUnitRunConfigurationPropertiesTest {
|
||||
loadRunConfiguration("test_method_fork_mode.xml")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `load default options`() {
|
||||
val properties = loadRunConfiguration("test_default_options.xml")
|
||||
assertEquals(listOf("com.example.test.MainTest"), properties.testClassPatterns)
|
||||
assertEquals(listOf("-ea"), properties.vmParameters)
|
||||
}
|
||||
|
||||
private fun loadRunConfiguration(fileName: String): JUnitRunConfigurationProperties {
|
||||
val url = JUnitRunConfigurationPropertiesTest::class.java.getResource("runConfigurations/$fileName")
|
||||
return JUnitRunConfigurationProperties.loadRunConfiguration(URLUtil.urlToFile(url), MockBuildMessages())
|
||||
|
||||
Reference in New Issue
Block a user