diff --git a/plugins/coverage/testSrc/com/intellij/coverage/CoverageIntegrationBaseTest.kt b/plugins/coverage/testSrc/com/intellij/coverage/CoverageIntegrationBaseTest.kt index 3695e0608074..f0665f3feeeb 100644 --- a/plugins/coverage/testSrc/com/intellij/coverage/CoverageIntegrationBaseTest.kt +++ b/plugins/coverage/testSrc/com/intellij/coverage/CoverageIntegrationBaseTest.kt @@ -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" diff --git a/plugins/coverage/testSrc/com/intellij/coverage/CoverageSuitesTest.kt b/plugins/coverage/testSrc/com/intellij/coverage/CoverageSuitesTest.kt index ab0555f79aff..7abbd0fd4836 100644 --- a/plugins/coverage/testSrc/com/intellij/coverage/CoverageSuitesTest.kt +++ b/plugins/coverage/testSrc/com/intellij/coverage/CoverageSuitesTest.kt @@ -173,8 +173,4 @@ class CoverageSuitesTest : CoverageIntegrationBaseTest() { manager.addCoverageSuite(suite, suite.presentableName) } - private fun assertNoSuites() { - Assert.assertNull(manager.currentSuitesBundle) - Assert.assertTrue(manager.suites.isEmpty()) - } } \ No newline at end of file diff --git a/plugins/coverage/testSrc/com/intellij/coverage/ExternalCoverageTest.kt b/plugins/coverage/testSrc/com/intellij/coverage/ExternalCoverageTest.kt index 0b34b092f595..392a6146b170 100644 --- a/plugins/coverage/testSrc/com/intellij/coverage/ExternalCoverageTest.kt +++ b/plugins/coverage/testSrc/com/intellij/coverage/ExternalCoverageTest.kt @@ -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() } } diff --git a/plugins/coverage/testSrc/com/intellij/coverage/actions/SuiteChooserTest.kt b/plugins/coverage/testSrc/com/intellij/coverage/actions/SuiteChooserTest.kt index d2cfed02d310..077deeb3a987 100644 --- a/plugins/coverage/testSrc/com/intellij/coverage/actions/SuiteChooserTest.kt +++ b/plugins/coverage/testSrc/com/intellij/coverage/actions/SuiteChooserTest.kt @@ -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) }