Enhance progress logging in FIR total resolve tests

This commit is contained in:
Mikhail Glukhikh
2019-03-18 14:47:24 +03:00
parent a334ca6224
commit 741bdccca5
3 changed files with 17 additions and 17 deletions
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.doFirResolveTestBench
import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
import org.jetbrains.kotlin.fir.progress
import org.jetbrains.kotlin.fir.resolve.FirProvider
import org.jetbrains.kotlin.fir.resolve.impl.FirProviderImpl
import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer
@@ -33,7 +34,6 @@ import org.jetbrains.kotlin.idea.caches.project.*
import org.jetbrains.kotlin.idea.fir.IdeFirDependenciesSymbolProvider
import org.jetbrains.kotlin.psi.KtFile
import java.io.File
import kotlin.math.ceil
class FirTotalKotlinResolveInIdeTest : ModuleTestCase() {
private val projectRootFile = File(".")
@@ -57,18 +57,6 @@ class FirTotalKotlinResolveInIdeTest : ModuleTestCase() {
)
}
private fun <T> Collection<T>.progress(label: String, step: Double = 0.1): Sequence<T> {
val intStep = (this.size * step).toInt()
val percentStep = ceil(this.size * 0.01).toInt()
var progress = 0
return asSequence().onEach {
if (progress % intStep == 0) {
println("$label: ${progress / percentStep}% ($progress/${this.size})")
}
progress++
}
}
override fun setUp() {
super.setUp()
sessionProvider = FirProjectSessionProvider(project)