[CHERRY PICKED FROM IJ] [refactoring] Make it possible to run all tests in kotlin.jps-plugin module
When anonymous class is used then attempt to run all tests ends up with: ``` Internal Error occurred. org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-vintage' failed to discover tests at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:160) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverSafely(EngineDiscoveryOrchestrator.java:134) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:108) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:80) at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:110) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.junit.platform.commons.JUnitException: ClassSelector [className = 'org.jetbrains.kotlin.jps.build.RelocatableJpsCachesTest$runTestAndCopyKotlinCaches$testCase$1'] resolution failed at org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:102) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:82) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113) at org.junit.vintage.engine.discovery.VintageDiscoverer.discover(VintageDiscoverer.java:42) at org.junit.vintage.engine.VintageTestEngine.discover(VintageTestEngine.java:64) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:152) ... 13 more Caused by: org.junit.platform.commons.PreconditionViolationException: displayName must not be null or blank at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:281) at org.junit.platform.commons.util.Preconditions.notBlank(Preconditions.java:249) at org.junit.platform.engine.support.descriptor.AbstractTestDescriptor.<init>(AbstractTestDescriptor.java:89) at org.junit.vintage.engine.descriptor.VintageTestDescriptor.<init>(VintageTestDescriptor.java:53) at org.junit.vintage.engine.descriptor.RunnerTestDescriptor.<init>(RunnerTestDescriptor.java:50) at org.junit.vintage.engine.discovery.ClassSelectorResolver.createRunnerTestDescriptor(ClassSelectorResolver.java:79) at org.junit.vintage.engine.discovery.ClassSelectorResolver.lambda$resolveTestClass$1(ClassSelectorResolver.java:70) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution$DefaultContext.createAndAdd(EngineDiscoveryRequestResolution.java:246) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution$DefaultContext.addToParent(EngineDiscoveryRequestResolution.java:209) at org.junit.vintage.engine.discovery.ClassSelectorResolver.resolveTestClass(ClassSelectorResolver.java:70) at org.junit.vintage.engine.discovery.ClassSelectorResolver.resolve(ClassSelectorResolver.java:47) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.lambda$resolve$2(EngineDiscoveryRequestResolution.java:134) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1632) at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127) at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:185) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:125) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:91) ... 18 more ``` GitOrigin-RevId: 80ff99794a65c49619888a2bcc4398683ef82f67 Original commit: https://github.com/JetBrains/intellij-community/commit/220690ba53f8772499603b082f92b28138a25716
This commit is contained in:
+9
-6
@@ -55,17 +55,20 @@ class RelocatableJpsCachesTest : BaseKotlinJpsBuildTestCase() {
|
||||
assertEqualDirectories(test1KotlinCachesDir, test2KotlinCachesDir, forgiveExtraFiles = false)
|
||||
}
|
||||
|
||||
private class RelocatableCacheTestCaseIml(
|
||||
private val testName: String,
|
||||
projectWorkingDir: File,
|
||||
dirToCopyKotlinCaches: File
|
||||
) : RelocatableCacheTestCase(projectWorkingDir, dirToCopyKotlinCaches) {
|
||||
override fun getName() = testName
|
||||
}
|
||||
|
||||
private fun runTestAndCopyKotlinCaches(
|
||||
projectWorkingDir: File,
|
||||
dirToCopyKotlinCaches: File,
|
||||
testMethod: KFunction1<RelocatableCacheTestCase, Unit>
|
||||
) {
|
||||
val testCase = object : RelocatableCacheTestCase(
|
||||
projectWorkingDir = projectWorkingDir,
|
||||
dirToCopyKotlinCaches = dirToCopyKotlinCaches
|
||||
) {
|
||||
override fun getName(): String = testMethod.name
|
||||
}
|
||||
val testCase = RelocatableCacheTestCaseIml(testMethod.name, projectWorkingDir, dirToCopyKotlinCaches)
|
||||
testCase.exposedPrivateApi.setUp()
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user