mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
[coverage] Fix old API usages: delegate to new methods if possible
GitOrigin-RevId: 53ab41c4c0e821907a8fb11980c70ab494c1f67d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e0dce36ad2
commit
7e5166aca8
@@ -10,6 +10,7 @@ import com.intellij.execution.configurations.coverage.CoverageEnabledConfigurati
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -444,10 +445,16 @@ public abstract class CoverageEngine {
|
||||
@Nullable String suiteToMerge,
|
||||
boolean coverageByTestEnabled,
|
||||
boolean branchCoverage,
|
||||
boolean trackTestFolders, Project project
|
||||
boolean trackTestFolders,
|
||||
@Nullable Project project
|
||||
) {
|
||||
throw new AbstractMethodError(
|
||||
AbstractMethodError error = new AbstractMethodError(
|
||||
"Please override CoverageEngine#createCoverageSuite(String, Project, CoverageRunner, CoverageFileProvider, long) method");
|
||||
if (project == null || isCalledByDelegationFromThis(error)) {
|
||||
throw error;
|
||||
}
|
||||
Logger.getInstance(CoverageEngine.class).error(error);
|
||||
return createCoverageSuite(name, project, runner, fileProvider, lastCoverageTimeStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -459,7 +466,20 @@ public abstract class CoverageEngine {
|
||||
@NotNull String name,
|
||||
@NotNull CoverageFileProvider fileProvider,
|
||||
@NotNull CoverageEnabledConfiguration config) {
|
||||
throw new AbstractMethodError(
|
||||
AbstractMethodError error = new AbstractMethodError(
|
||||
"Please override CoverageEngine#createCoverageSuite(String, Project, CoverageRunner, CoverageFileProvider, long, CoverageEnabledConfiguration) method");
|
||||
if (isCalledByDelegationFromThis(error)) {
|
||||
throw error;
|
||||
}
|
||||
Logger.getInstance(CoverageEngine.class).error(error);
|
||||
return createCoverageSuite(name, config.getConfiguration().getProject(), runner, fileProvider, config.createTimestamp(), config);
|
||||
}
|
||||
|
||||
|
||||
private static boolean isCalledByDelegationFromThis(Throwable e) {
|
||||
StackTraceElement[] stackTrace = e.getStackTrace();
|
||||
if (stackTrace.length < 2) return false;
|
||||
StackTraceElement element = stackTrace[1];
|
||||
return element.getClassName().equals(CoverageEngine.class.getName()) && element.getMethodName().equals("createCoverageSuite");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,16 +74,20 @@ abstract class CoverageIntegrationBaseTest : JavaModuleTestCase() {
|
||||
private fun createCoverageFileProvider(coverageDataPath: String) =
|
||||
DefaultCoverageFileProvider(File(coverageDataPath))
|
||||
|
||||
private fun loadCoverageSuite(coverageEngineClass: Class<out CoverageEngine>, coverageRunnerClass: Class<out CoverageRunner>,
|
||||
coverageDataPath: String,
|
||||
includeFilters: Array<String>?): CoverageSuitesBundle {
|
||||
private fun loadCoverageSuite(
|
||||
coverageEngineClass: Class<out CoverageEngine>, coverageRunnerClass: Class<out CoverageRunner>,
|
||||
coverageDataPath: String, includeFilters: Array<String>?,
|
||||
): CoverageSuitesBundle {
|
||||
val runner = CoverageRunner.getInstance(coverageRunnerClass)
|
||||
val fileProvider: CoverageFileProvider = createCoverageFileProvider(coverageDataPath)
|
||||
Assert.assertTrue(File(fileProvider.coverageDataFilePath).exists())
|
||||
val engine = CoverageEngine.EP_NAME.findExtensionOrFail(coverageEngineClass)
|
||||
val suite: CoverageSuite = engine.createCoverageSuite(
|
||||
runner, coverageDataPath, fileProvider, includeFilters,
|
||||
-1, null, true, true, false, myProject)!!
|
||||
val suite = if (engine is JavaCoverageEngine) {
|
||||
engine.createSuite(runner, coverageDataPath, fileProvider, includeFilters, null, -1, true, true, false, project)
|
||||
}
|
||||
else {
|
||||
engine.createCoverageSuite(coverageDataPath, project, runner, fileProvider, -1)
|
||||
}
|
||||
return CoverageSuitesBundle(suite)
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.JUnit4
|
||||
|
||||
|
||||
@RunWith(JUnit4::class)
|
||||
class CoverageRunConfigTest : CoverageIntegrationBaseTest() {
|
||||
@Test
|
||||
@@ -27,10 +28,7 @@ class CoverageRunConfigTest : CoverageIntegrationBaseTest() {
|
||||
Assert.assertTrue(coverageConfig.excludePatterns.isNullOrEmpty())
|
||||
Assert.assertNull(coverageConfig.currentCoverageSuite)
|
||||
|
||||
val suite = JavaCoverageEngine.getInstance().createCoverageSuite(coverageConfig.coverageRunner!!,
|
||||
coverageConfig.name,
|
||||
DefaultCoverageFileProvider(coverageConfig.coverageFilePath),
|
||||
coverageConfig)
|
||||
val suite = JavaCoverageEngine.getInstance().createCoverageSuite(coverageConfig)
|
||||
suite as JavaCoverageSuite
|
||||
|
||||
Assert.assertTrue(suite.isBranchCoverage)
|
||||
|
||||
Reference in New Issue
Block a user