run groovy compiler/debugger test in the compiler/debugger suite

and on real jdk (8 or 9 on TeamCity)
This commit is contained in:
peter
2018-01-05 17:21:14 +01:00
parent 497aa9d9b1
commit c219d34790
4 changed files with 27 additions and 11 deletions
@@ -112,10 +112,12 @@ com.intellij.java.propertyBased.JavaCodeInsightSanityTest
[GROOVY_TESTS]
org.jetbrains.plugins.groovy.*
-org.jetbrains.plugins.groovy.compiler.*
[COMPILER_AND_DEBUGGER_TESTS]
com.intellij.compiler.*
org.jetbrains.jps.*
com.intellij.java.compiler.*
com.intellij.debugger.streams.*
org.jetbrains.plugins.groovy.compiler.*
-org.jetbrains.jps.android.*
@@ -33,6 +33,9 @@ import com.intellij.openapi.compiler.options.ExcludeEntryDescription
import com.intellij.openapi.compiler.options.ExcludesConfiguration
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.module.Module
import com.intellij.openapi.projectRoots.JavaSdkVersion
import com.intellij.openapi.projectRoots.JavaSdkVersionUtil
import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.openapi.roots.ModuleRootModificationUtil
import com.intellij.openapi.util.Key
import com.intellij.openapi.util.Ref
@@ -995,5 +998,15 @@ class Bar {}'''
GreclipseIdeaCompilerSettings.getSettings(project).greclipsePath = jarPath
}
@Override
void runTest() {
if (JavaSdkVersionUtil.getJavaSdkVersion(ModuleRootManager.getInstance(myModule).sdk)?.isAtLeast(JavaSdkVersion.JDK_1_9)) {
println "Groovy-Eclipse doesn't support JDK9 yet"
return
}
super.runTest()
}
}
}
@@ -34,15 +34,17 @@ import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.module.StdModuleTypes
import com.intellij.openapi.project.Project
import com.intellij.openapi.projectRoots.JavaSdkVersion
import com.intellij.openapi.roots.*
import com.intellij.openapi.util.Key
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.text.StringUtil
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.pom.java.LanguageLevel
import com.intellij.psi.PsiFile
import com.intellij.testFramework.*
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase
import com.intellij.util.SystemProperties
import com.intellij.util.io.PathKt
import groovy.transform.CompileStatic
import org.jetbrains.annotations.NotNull
@@ -79,8 +81,9 @@ abstract class GroovyCompilerTestCase extends JavaCodeInsightFixtureTestCase imp
@Override
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) throws Exception {
moduleBuilder.setLanguageLevel(LanguageLevel.JDK_1_6)
moduleBuilder.addJdk(IdeaTestUtil.getMockJdk17Path().getPath())
moduleBuilder.setLanguageLevel(JavaSdkVersion.fromVersionString(SystemProperties.javaVersion).maxLanguageLevel)
def javaHome = FileUtil.toSystemIndependentName(SystemProperties.javaHome)
moduleBuilder.addJdk(StringUtil.trimEnd(StringUtil.trimEnd(javaHome, '/'), '/jre'))
super.tuneFixture(moduleBuilder)
}
@@ -219,7 +222,12 @@ abstract class GroovyCompilerTestCase extends JavaCodeInsightFixtureTestCase imp
}
}, ProgramRunner.PROGRAM_RUNNER_EP.findExtension(DefaultJavaProgramRunner.class))
process.waitFor()
assertEquals(expected.trim(), StringUtil.convertLineSeparators(sb.toString().trim()))
def output = StringUtil.convertLineSeparators(sb.toString().trim()).readLines()
output = output.findAll { line ->
!StringUtil.containsIgnoreCase(line, "illegal") &&
!line.contains("consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass")
}
assertEquals(expected.trim(), output.join("\n"))
}
protected ProcessHandler runProcess(String className,
@@ -88,13 +88,6 @@ class GroovyDebuggerTest extends GroovyCompilerTestCase implements DebuggerMetho
}
}
@Override
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
super.tuneFixture(moduleBuilder)
def javaHome = FileUtil.toSystemIndependentName(SystemProperties.getJavaHome())
moduleBuilder.addJdk(StringUtil.trimEnd(StringUtil.trimEnd(javaHome, '/'), '/jre'))
}
void runDebugger(PsiFile script, Closure cl) {
def configuration = createScriptConfiguration(script.virtualFile.path, myModule)
runDebugger(configuration, cl)