Skip to content

Commit a0a8ca0

Browse files
mazhukinevgeniySpace Team
authored and
Space Team
committed
[BTA Tests] Fix changedSources tracking when compilation fail is expected
We had a bug, so I fixed it and introduced a different bug. ^KT-74481
1 parent 0430ddc commit a0a8ca0

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

compiler/build-tools/kotlin-build-tools-api-tests/src/main/kotlin/compilation/model/AbstractModule.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import java.util.concurrent.TimeoutException
1515

1616
private class CompilationOutcomeImpl(
1717
rawLogLines: Map<LogLevel, Collection<String>>,
18+
override val actualResult: CompilationResult
1819
) : CompilationOutcome {
1920
private val _logLines by lazy {
2021
rawLogLines.mapValues { (_, lines) -> lines.toList() }
@@ -90,7 +91,7 @@ abstract class AbstractModule(
9091
): CompilationResult {
9192
val kotlinLogger = TestKotlinLogger()
9293
val result = compileImpl(strategyConfig, compilationConfigAction, kotlinLogger)
93-
val outcome = CompilationOutcomeImpl(kotlinLogger.logMessagesByLevel)
94+
val outcome = CompilationOutcomeImpl(kotlinLogger.logMessagesByLevel, result)
9495
try {
9596
assertions(outcome, this)
9697
assertEquals(outcome.expectedResult, result) {

compiler/build-tools/kotlin-build-tools-api-tests/src/main/kotlin/compilation/model/CompilationOutcome.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ interface CompilationOutcome {
1212

1313
val uniqueLogLines: Map<LogLevel, Set<String>>
1414

15+
val actualResult: CompilationResult
16+
1517
fun requireLogLevel(logLevel: LogLevel)
1618

1719
fun expectFail()
1820

1921
fun expectCompilationResult(compilationResult: CompilationResult)
20-
}
22+
}

compiler/build-tools/kotlin-build-tools-api-tests/src/main/kotlin/compilation/scenario/scenarioDsl.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package org.jetbrains.kotlin.buildtools.api.tests.compilation.scenario
77

8+
import org.jetbrains.kotlin.buildtools.api.CompilationResult
89
import org.jetbrains.kotlin.buildtools.api.CompilerExecutionStrategyConfiguration
910
import org.jetbrains.kotlin.buildtools.api.SourcesChanges
1011
import org.jetbrains.kotlin.buildtools.api.jvm.IncrementalJvmCompilationConfiguration
@@ -124,9 +125,13 @@ internal class ExternallyTrackedScenarioModuleImpl(
124125
override fun getSourcesChanges() = sourcesChanges
125126

126127
override fun compile(forceOutput: LogLevel?, assertions: CompilationOutcome.(Module, ScenarioModule) -> Unit) {
127-
super.compile(forceOutput, assertions)
128+
super.compile(forceOutput) { module, scenarioModule ->
129+
assertions(module, scenarioModule)
128130

129-
sourcesChanges = SourcesChanges.Known(emptyList(), emptyList())
131+
if (actualResult == CompilationResult.COMPILATION_SUCCESS) {
132+
sourcesChanges = SourcesChanges.Known(emptyList(), emptyList())
133+
}
134+
}
130135
}
131136

132137
private fun addToModifiedFiles(file: Path) {

0 commit comments

Comments
 (0)