Add Test postfix to Abstract(Psi|Fir)Visualizer classes

This commit is contained in:
Ivan Kylchik
2021-02-25 00:28:13 +03:00
committed by TeamCityServer
parent 5efa00821d
commit 6a439ad186
9 changed files with 30 additions and 37 deletions
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.integration.AbstractAntTaskTest
import org.jetbrains.kotlin.ir.AbstractIrCfgTestCase
import org.jetbrains.kotlin.ir.AbstractIrJsTextTestCase
import org.jetbrains.kotlin.ir.AbstractIrSourceRangesTestCase
import org.jetbrains.kotlin.ir.AbstractIrTextTestCase
import org.jetbrains.kotlin.jvm.compiler.*
import org.jetbrains.kotlin.jvm.compiler.ir.AbstractIrCompileJavaAgainstKotlinTest
import org.jetbrains.kotlin.jvm.compiler.ir.AbstractIrCompileKotlinAgainstJavaTest
@@ -58,8 +57,6 @@ import org.jetbrains.kotlin.resolve.constraintSystem.AbstractConstraintSystemTes
import org.jetbrains.kotlin.serialization.AbstractLocalClassProtoTest
import org.jetbrains.kotlin.test.TargetBackend
import org.jetbrains.kotlin.types.AbstractTypeBindingTest
import org.jetbrains.kotlin.visualizer.fir.AbstractFirVisualizer
import org.jetbrains.kotlin.visualizer.psi.AbstractPsiVisualizer
fun generateJUnit3CompilerTests(args: Array<String>) {
generateTestGroupSuite(args) {
@@ -12,8 +12,8 @@ import org.jetbrains.kotlin.test.runners.*
import org.jetbrains.kotlin.test.runners.codegen.*
import org.jetbrains.kotlin.test.runners.ir.AbstractFir2IrTextTest
import org.jetbrains.kotlin.test.runners.ir.AbstractIrTextTest
import org.jetbrains.kotlin.visualizer.fir.AbstractFirVisualizer
import org.jetbrains.kotlin.visualizer.psi.AbstractPsiVisualizer
import org.jetbrains.kotlin.visualizer.fir.AbstractFirVisualizerTest
import org.jetbrains.kotlin.visualizer.psi.AbstractPsiVisualizerTest
import org.junit.jupiter.api.parallel.Execution
import org.junit.jupiter.api.parallel.ExecutionMode
@@ -159,21 +159,21 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
}
testGroup("compiler/visualizer/tests-gen", "compiler/fir/raw-fir/psi2fir/testData") {
testClass<AbstractPsiVisualizer>("PsiVisualizerForRawFirDataGenerated") {
testClass<AbstractPsiVisualizerTest>("PsiVisualizerForRawFirDataGenerated") {
model("rawBuilder")
}
testClass<AbstractFirVisualizer>("FirVisualizerForRawFirDataGenerated") {
testClass<AbstractFirVisualizerTest>("FirVisualizerForRawFirDataGenerated") {
model("rawBuilder")
}
}
testGroup("compiler/visualizer/tests-gen", "compiler/visualizer/testData") {
testClass<AbstractPsiVisualizer>("PsiVisualizerForUncommonCasesGenerated") {
testClass<AbstractPsiVisualizerTest>("PsiVisualizerForUncommonCasesGenerated") {
model("uncommonCases/testFiles")
}
testClass<AbstractFirVisualizer>("FirVisualizerForUncommonCasesGenerated") {
testClass<AbstractFirVisualizerTest>("FirVisualizerForUncommonCasesGenerated") {
model("uncommonCases/testFiles")
}
}
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
@SuppressWarnings("all")
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder")
@TestDataPath("$PROJECT_ROOT")
public class FirVisualizerForRawFirDataGenerated extends AbstractFirVisualizer {
public class FirVisualizerForRawFirDataGenerated extends AbstractFirVisualizerTest {
@Test
public void testAllFilesPresentInRawBuilder() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder"), Pattern.compile("^(.+)\\.kt$"), null, true);
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
@SuppressWarnings("all")
@TestMetadata("compiler/visualizer/testData/uncommonCases/testFiles")
@TestDataPath("$PROJECT_ROOT")
public class FirVisualizerForUncommonCasesGenerated extends AbstractFirVisualizer {
public class FirVisualizerForUncommonCasesGenerated extends AbstractFirVisualizerTest {
@Test
public void testAllFilesPresentInTestFiles() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/visualizer/testData/uncommonCases/testFiles"), Pattern.compile("^(.+)\\.kt$"), null, true);
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
@SuppressWarnings("all")
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder")
@TestDataPath("$PROJECT_ROOT")
public class PsiVisualizerForRawFirDataGenerated extends AbstractPsiVisualizer {
public class PsiVisualizerForRawFirDataGenerated extends AbstractPsiVisualizerTest {
@Test
public void testAllFilesPresentInRawBuilder() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder"), Pattern.compile("^(.+)\\.kt$"), null, true);
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
@SuppressWarnings("all")
@TestMetadata("compiler/visualizer/testData/uncommonCases/testFiles")
@TestDataPath("$PROJECT_ROOT")
public class PsiVisualizerForUncommonCasesGenerated extends AbstractPsiVisualizer {
public class PsiVisualizerForUncommonCasesGenerated extends AbstractPsiVisualizerTest {
@Test
public void testAllFilesPresentInTestFiles() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/visualizer/testData/uncommonCases/testFiles"), Pattern.compile("^(.+)\\.kt$"), null, true);
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
abstract class AbstractVisualizer : AbstractKotlinCompilerTest() {
abstract class AbstractVisualizerTest : AbstractKotlinCompilerTest() {
abstract val handler: Constructor<FrontendOutputHandler<*>>
abstract val frontendKind: FrontendKind<*>
abstract val frontendFacade: Constructor<FrontendFacade<*>>
@@ -7,18 +7,16 @@ package org.jetbrains.kotlin.visualizer.fir
import org.jetbrains.kotlin.compiler.visualizer.FirVisualizer
import org.jetbrains.kotlin.test.Constructor
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirAnalysisHandler
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.services.defaultDirectives
import org.jetbrains.kotlin.visualizer.AbstractVisualizer
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.visualizer.AbstractVisualizerTest
import org.jetbrains.kotlin.visualizer.VisualizerDirectives
import org.junit.Assert
import java.io.File
abstract class AbstractFirVisualizer : AbstractVisualizer() {
abstract class AbstractFirVisualizerTest : AbstractVisualizerTest() {
override val frontendKind: FrontendKind<*> = FrontendKinds.FIR
override val frontendFacade: Constructor<FrontendFacade<*>> = ::FirFrontendFacade
@@ -28,19 +26,18 @@ abstract class AbstractFirVisualizer : AbstractVisualizer() {
val renderer = FirVisualizer(info.firFiles.values.first())
val firRenderResult = renderer.render()
val replaceFrom = it.defaultDirectives[VisualizerDirectives.TEST_FILE_PATH].first()
val replaceTo = it.defaultDirectives[VisualizerDirectives.EXPECTED_FILE_PATH].first()
val path = info.firFiles.keys.first().originalFile.absolutePath.replace(replaceFrom, replaceTo)
val replaceFrom = module.directives[VisualizerDirectives.TEST_FILE_PATH].first()
val replaceTo = module.directives[VisualizerDirectives.EXPECTED_FILE_PATH].first()
val path = module.files.first().originalFile.absolutePath.replace(replaceFrom, replaceTo)
val expectedText = File(path).readLines()
if (expectedText[0].startsWith("// FIR_IGNORE")) {
Assert.assertFalse(
"Files are identical, please delete ignore directive",
expectedText.drop(1).joinToString("\n") == firRenderResult.trim()
)
assertions.assertFalse(expectedText.drop(1).joinToString("\n") == firRenderResult.trim()) {
"Files are identical, please delete ignore directive"
}
return
}
KotlinTestUtils.assertEqualsToFile(File(path), firRenderResult) {
return@assertEqualsToFile it.replace("// FIR_IGNORE\n", "")
assertions.assertEqualsToFile(File(path), firRenderResult) { text ->
text.replace("// FIR_IGNORE\n", "")
}
}
@@ -7,17 +7,16 @@ package org.jetbrains.kotlin.visualizer.psi
import org.jetbrains.kotlin.compiler.visualizer.PsiVisualizer
import org.jetbrains.kotlin.test.Constructor
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicFrontendAnalysisHandler
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.services.defaultDirectives
import org.jetbrains.kotlin.visualizer.AbstractVisualizer
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.visualizer.AbstractVisualizerTest
import org.jetbrains.kotlin.visualizer.VisualizerDirectives
import java.io.File
abstract class AbstractPsiVisualizer : AbstractVisualizer() {
abstract class AbstractPsiVisualizerTest : AbstractVisualizerTest() {
override val frontendKind: FrontendKind<*> = FrontendKinds.ClassicFrontend
override val frontendFacade: Constructor<FrontendFacade<*>> = ::ClassicFrontendFacade
@@ -27,11 +26,11 @@ abstract class AbstractPsiVisualizer : AbstractVisualizer() {
val renderer = PsiVisualizer(info.ktFiles.values.first(), info.analysisResult)
val psiRenderResult = renderer.render()
val replaceFrom = it.defaultDirectives[VisualizerDirectives.TEST_FILE_PATH].first()
val replaceTo = it.defaultDirectives[VisualizerDirectives.EXPECTED_FILE_PATH].first()
val path = info.ktFiles.keys.first().originalFile.absolutePath.replace(replaceFrom, replaceTo)
KotlinTestUtils.assertEqualsToFile(File(path), psiRenderResult) {
return@assertEqualsToFile it.replace("// FIR_IGNORE\n", "")
val replaceFrom = module.directives[VisualizerDirectives.TEST_FILE_PATH].first()
val replaceTo = module.directives[VisualizerDirectives.EXPECTED_FILE_PATH].first()
val path = module.files.first().originalFile.absolutePath.replace(replaceFrom, replaceTo)
assertions.assertEqualsToFile(File(path), psiRenderResult) { text ->
text.replace("// FIR_IGNORE\n", "")
}
}