in plugin-rust-agent/src/main/kotlin/jetbrains/buildServer/rust/logging/CargoLoggingListener.kt [16:45]
override fun onStandardOutput(line: String) {
if (line.isBlank()) return
val lastLine = myLastLine
myLastLine = line
myTestsStart.find(line)?.let {
val testSuiteText = lastLine ?: ""
val testSuiteName = getTestSuiteName(testSuiteText.trim())
changeState(CargoState.Testing, testSuiteName)
return
}
myErrorStart.find(line)?.let {
changeState(CargoState.ErrorDetails, line)
return
}
myStatement.find(line)?.let {
val (stateKey, stateText) = it.destructured
val state = CargoState[stateKey]
if (state != null && myLogger.canChangeState(state, stateText)) {
changeState(state, stateText)
return
}
}
myLogger.processLine(line)
}