in remote-robot/src/main/kotlin/com/intellij/remoterobot/utils/RepeatUtils.kt [37:52]
fun waitFor(
duration: Duration = Duration.ofSeconds(5),
interval: Duration = Duration.ofSeconds(2),
description: String? = null,
errorMessageSupplier: () -> String,
condition: () -> Boolean
) {
if (description != null) {
return step("Waiting for $description") {
if (repeatInTime(duration, interval, isLogEnabled = true) { condition() }) return@step
throw WaitForConditionTimeoutException(duration, errorMessageSupplier())
}
}
if (repeatInTime(duration, interval) { condition() }) return
throw WaitForConditionTimeoutException(duration, errorMessageSupplier())
}