[JS IC TEST] Support deleted files list in module step

This commit is contained in:
Roman Artemev
2021-12-17 06:37:01 +03:00
committed by teamcity
parent 2dd519c91f
commit 2ace13a904
2 changed files with 8 additions and 7 deletions
@@ -17,13 +17,15 @@ class ModuleInfo(val moduleName: String) {
sealed class Modification {
class Delete(private val fileName: String) : Modification() {
override fun execute(testDirectory: File, sourceDirectory: File) {
File(sourceDirectory, fileName).delete()
override fun execute(testDirectory: File, sourceDirectory: File, deletedFilesCollector: (File) -> Unit) {
val file = File(sourceDirectory, fileName)
file.delete()
deletedFilesCollector(file)
}
}
class Update(private val fromFile: String, private val toFile: String) : Modification() {
override fun execute(testDirectory: File, sourceDirectory: File) {
override fun execute(testDirectory: File, sourceDirectory: File, deletedFilesCollector: (File) -> Unit) {
val toFile = File(sourceDirectory, toFile)
if (toFile.exists()) {
toFile.delete()
@@ -35,7 +37,7 @@ class ModuleInfo(val moduleName: String) {
}
}
abstract fun execute(testDirectory: File, sourceDirectory: File)
abstract fun execute(testDirectory: File, sourceDirectory: File, deletedFilesCollector: (File) -> Unit = {})
}
class ModuleStep(
@@ -46,8 +48,6 @@ class ModuleInfo(val moduleName: String) {
val directives: Set<StepDirectives>
)
val steps = mutableListOf<ModuleStep>()
}
@@ -129,8 +129,9 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
val moduleSourceDir = File(sourceDir, module)
val moduleInfo = moduleInfos[module] ?: error("No module info found for $module")
val moduleStep = moduleInfo.steps[projStep.id]
val deletedFiles = mutableListOf<File>()
for (modification in moduleStep.modifications) {
modification.execute(moduleTestDir, moduleSourceDir)
modification.execute(moduleTestDir, moduleSourceDir) { deletedFiles.add(it) }
}
val dependencies = moduleStep.dependencies.map { resolveModuleArtifact(it, buildDir) }