[coverage] Fix tests: assert no suites left after previous tests

GitOrigin-RevId: 7c30d4d09a13bf0e7f4faa9b29174bef8acc6592
This commit is contained in:
Maksim Zuev
2023-12-19 17:23:57 +00:00
committed by intellij-monorepo-bot
parent c14b9cdd8b
commit ffda9d1b15
4 changed files with 35 additions and 6 deletions
@@ -92,6 +92,11 @@ abstract class CoverageIntegrationBaseTest : JavaModuleTestCase() {
return loadIJSuite(path = ijSuiteFile.absolutePath)
}
protected fun assertNoSuites() {
Assert.assertNull(manager.currentSuitesBundle)
Assert.assertEquals(0, manager.suites.size)
}
companion object {
protected fun getTestDataPath() = PluginPathManager.getPluginHomePath("coverage") + "/testData/simple"
@@ -173,8 +173,4 @@ class CoverageSuitesTest : CoverageIntegrationBaseTest() {
manager.addCoverageSuite(suite, suite.presentableName)
}
private fun assertNoSuites() {
Assert.assertNull(manager.currentSuitesBundle)
Assert.assertTrue(manager.suites.isEmpty())
}
}
@@ -11,7 +11,8 @@ import java.io.File
class ExternalCoverageTest : CoverageIntegrationBaseTest() {
fun `test watching externally added coverage`(): Unit = runBlocking {
val ijSuite = loadIJSuiteCopy()
assertNoSuites()
val ijSuite = loadIJSuiteCopy()
val ijSuiteFile = File(ijSuite.suites[0].coverageDataFileProvider.coverageDataFilePath)
openSuiteAndWait(ijSuite)
@@ -34,5 +35,8 @@ class ExternalCoverageTest : CoverageIntegrationBaseTest() {
val classData = projectData.getClassData("foo.bar.BarClass")
val lineData = classData.getLineData(9)
Assert.assertEquals(LineCoverage.FULL, lineData.status.toByte())
closeSuite(ijSuite)
assertNoSuites()
}
}
@@ -16,6 +16,8 @@ import org.junit.Assert
class SuiteChooserTest : CoverageIntegrationBaseTest() {
fun `test chooser dialog includes registered suites`(): Unit = runBlocking {
assertNoSuites()
val ijSuite = loadIJSuite().suites[0]
val jacocoSuite = loadJaCoCoSuite().suites[0]
val xmlSuite = loadXMLSuite().suites[0]
@@ -35,9 +37,14 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
Assert.assertFalse(suites[xmlSuite]!!)
closeDialog(dialog)
unregisterCoverageSuite(ijSuite)
unregisterCoverageSuite(xmlSuite)
unregisterCoverageSuite(jacocoSuite)
assertNoSuites()
}
fun `test chooser dialog includes opened suites selected`(): Unit = runBlocking {
assertNoSuites()
val ijBundle = loadIJSuite()
val ijSuite = ijBundle.suites[0]
registerSuite(ijSuite)
@@ -58,9 +65,13 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
closeSuite(ijBundle)
closeDialog(dialog)
unregisterCoverageSuite(ijSuite)
unregisterCoverageSuite(xmlSuite)
assertNoSuites()
}
fun `test suite chooser opens checked suite`(): Unit = runBlocking {
assertNoSuites()
val ijSuite = loadIJSuite().suites[0]
registerSuite(ijSuite)
@@ -78,9 +89,12 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
Assert.assertTrue(ijSuite in currentBundle.suites)
closeDialog(dialog)
unregisterCoverageSuite(ijSuite)
assertNoSuites()
}
fun `test suite chooser opens all checked suites`(): Unit = runBlocking {
assertNoSuites()
val ijSuite = loadIJSuite().suites[0]
registerSuite(ijSuite)
@@ -110,9 +124,13 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
}
closeDialog(dialog)
unregisterCoverageSuite(ijSuite)
unregisterCoverageSuite(xmlSuite)
assertNoSuites()
}
fun `test chooser dialog closes suites if not selected`(): Unit = runBlocking {
assertNoSuites()
val ijBundle = loadIJSuite()
val ijSuite = ijBundle.suites[0]
registerSuite(ijSuite)
@@ -130,9 +148,12 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
Assert.assertTrue(bundles.isEmpty())
closeDialog(dialog)
unregisterCoverageSuite(ijSuite)
assertNoSuites()
}
fun `test no coverage action closes all opened suites`(): Unit = runBlocking {
assertNoSuites()
val ijBundle = loadIJSuite()
val ijSuite = ijBundle.suites[0]
registerSuite(ijSuite)
@@ -146,7 +167,8 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
closeDialog(dialog)
}
Assert.assertTrue(manager.activeSuites().isEmpty())
unregisterCoverageSuite(ijSuite)
assertNoSuites()
}
private suspend fun openChooserDialog(): CoverageSuiteChooserDialog =
@@ -173,4 +195,6 @@ class SuiteChooserTest : CoverageIntegrationBaseTest() {
// Use 'presentableName' parameter to avoid report file deletion
manager.addCoverageSuite(suite, suite.presentableName)
}
private fun unregisterCoverageSuite(suite: CoverageSuite) = manager.unregisterCoverageSuite(suite)
}