testing scripts: report error if run configuration uses a fork mode

This commit is contained in:
nik
2018-03-14 15:18:09 +03:00
parent 7578d8d6fc
commit 1e123fd6da
3 changed files with 27 additions and 0 deletions
@@ -59,6 +59,11 @@ class JUnitRunConfigurationProperties {
testClassPatterns = []
}
String forkMode = first(configuration.fork_mode)?.@value
if (forkMode != null && forkMode != "none") {
messages.error("Cannot run $file.name configuration: fork mode '$forkMode' is not supported")
}
List<String> requiredArtifacts =
first(configuration.method)?.option?.
find { it.@name == "BuildArtifacts" && it.@enabled == "true" }?.
@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="test class fork" type="JUnit" factoryName="JUnit">
<module name="main-module"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="MAIN_CLASS_NAME" value="com.example.test.MainTest"/>
<option name="TEST_OBJECT" value="class"/>
<option name="VM_PARAMETERS" value="-ea -Xmx512m"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/bin"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<fork_mode value="method"/>
</configuration>
</component>
@@ -4,6 +4,7 @@
package org.jetbrains.intellij.build
import com.intellij.util.io.URLUtil
import junit.framework.AssertionFailedError
import org.jetbrains.intellij.build.impl.JUnitRunConfigurationProperties
import org.junit.Assert.assertEquals
import org.junit.Test
@@ -40,6 +41,11 @@ class JUnitRunConfigurationPropertiesTest {
assertEquals(emptyList<String>(), properties.requiredArtifacts)
}
@Test(expected = AssertionFailedError::class)
fun `load test with method fork mode`() {
loadRunConfiguration("test_method_fork_mode.xml")
}
private fun loadRunConfiguration(fileName: String): JUnitRunConfigurationProperties {
val url = JUnitRunConfigurationPropertiesTest::class.java.getResource("runConfigurations/$fileName")
return JUnitRunConfigurationProperties.loadRunConfiguration(URLUtil.urlToFile(url), MockBuildMessages())