Skip to content

Commit c006ceb

Browse files
committed
Reverted use of 1.6 duration methods where possible
1 parent 7ccfd84 commit c006ceb

File tree

14 files changed

+44
-50
lines changed

14 files changed

+44
-50
lines changed

kotest-assertions/kotest-assertions-shared/src/commonMain/kotlin/io/kotest/assertions/Retry.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import kotlin.time.Duration
66
import kotlin.time.DurationUnit
77
import kotlin.time.TimeSource
88
import kotlinx.coroutines.delay
9-
import kotlin.time.Duration.Companion.seconds
109

1110
/**
1211
* Retry [f] until it's a success or [maxRetry]/[timeout] is reached
@@ -27,7 +26,7 @@ import kotlin.time.Duration.Companion.seconds
2726
suspend fun <T> retry(
2827
maxRetry: Int,
2928
timeout: Duration,
30-
delay: Duration = 1.seconds,
29+
delay: Duration = Duration.seconds(1),
3130
multiplier: Int = 1,
3231
f: suspend () -> T
3332
): T = retry(maxRetry, timeout, delay, multiplier, Exception::class, f)
@@ -52,7 +51,7 @@ suspend fun <T> retry(
5251
suspend fun <T, E : Throwable> retry(
5352
maxRetry: Int,
5453
timeout: Duration,
55-
delay: Duration = 1.seconds,
54+
delay: Duration = Duration.seconds(1),
5655
multiplier: Int = 1,
5756
exceptionClass: KClass<E>,
5857
f: suspend () -> T

kotest-assertions/kotest-assertions-shared/src/commonMain/kotlin/io/kotest/assertions/timing/continually.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import io.kotest.assertions.until.Interval
66
import io.kotest.assertions.until.fixed
77
import kotlinx.coroutines.delay
88
import kotlin.time.Duration
9-
import kotlin.time.Duration.Companion.milliseconds
109
import kotlin.time.TimeMark
1110
import kotlin.time.TimeSource
1211

@@ -22,7 +21,7 @@ fun interface ContinuallyListener<in T> {
2221

2322
data class Continually<T> (
2423
val duration: Duration = Duration.INFINITE,
25-
val interval: Interval = 25.milliseconds.fixed(),
24+
val interval: Interval = Duration.milliseconds(25).fixed(),
2625
val listener: ContinuallyListener<T> = ContinuallyListener.noop,
2726
) {
2827
suspend operator fun invoke(f: SuspendingProducer<T>): T? {
@@ -57,5 +56,5 @@ data class Continually<T> (
5756
suspend fun <T> continually(duration: Duration, poll: Duration, f: suspend () -> T) =
5857
continually(duration, poll.fixed(), f = f)
5958

60-
suspend fun <T> continually(duration: Duration, interval: Interval = 10.milliseconds.fixed(), f: suspend () -> T) =
59+
suspend fun <T> continually(duration: Duration, interval: Interval = Duration.milliseconds(10).fixed(), f: suspend () -> T) =
6160
Continually<T>(duration, interval).invoke(f)

kotest-assertions/kotest-assertions-shared/src/commonMain/kotlin/io/kotest/assertions/timing/eventually.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import io.kotest.assertions.until.fixed
88
import kotlinx.coroutines.delay
99
import kotlin.reflect.KClass
1010
import kotlin.time.Duration
11-
import kotlin.time.Duration.Companion.milliseconds
1211
import kotlin.time.TimeMark
1312
import kotlin.time.TimeSource
1413

@@ -59,7 +58,7 @@ suspend fun <T> eventually(duration: Duration, exceptionClass: KClass<out Throwa
5958
*/
6059
suspend fun <T> eventually(
6160
duration: Duration = Duration.INFINITE,
62-
interval: Interval = 25.milliseconds.fixed(),
61+
interval: Interval = Duration.milliseconds(25).fixed(),
6362
predicate: EventuallyPredicate<T> = { true },
6463
listener: EventuallyListener<T> = EventuallyListener { },
6564
retries: Int = Int.MAX_VALUE,
@@ -150,7 +149,7 @@ suspend fun <T> eventually(
150149

151150
data class EventuallyConfig(
152151
val duration: Duration = Duration.INFINITE,
153-
val interval: Interval = 25.milliseconds.fixed(),
152+
val interval: Interval = Duration.milliseconds(25).fixed(),
154153
val retries: Int = Int.MAX_VALUE,
155154
val exceptionClass: KClass<out Throwable>? = null,
156155
) {

kotest-assertions/kotest-assertions-shared/src/commonMain/kotlin/io/kotest/assertions/until/ExponentialInterval.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package io.kotest.assertions.until
22

33
import kotlin.math.pow
44
import kotlin.time.Duration
5-
import kotlin.time.Duration.Companion.hours
65

76
/**
87
* Exponential interval implements a delay where each duration is calculated as a multiplier
@@ -24,7 +23,7 @@ class ExponentialInterval(private val base: Duration, private val factor: Double
2423
}
2524

2625
companion object {
27-
val defaultMax = 2.hours
26+
val defaultMax = Duration.hours(2)
2827
const val defaultFactor = 2.0
2928
}
3029
}

kotest-assertions/kotest-assertions-shared/src/commonMain/kotlin/io/kotest/assertions/until/FibonacciInterval.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package io.kotest.assertions.until
22

33
import kotlin.time.Duration
4-
import kotlin.time.Duration.Companion.hours
5-
import kotlin.time.Duration.Companion.milliseconds
64

75
/**
86
* Fibonacci delay implements a delay where each duration is calculated as a multiplier
@@ -26,12 +24,12 @@ class FibonacciInterval(private val base: Duration, private val offset: Int, pri
2624
override fun next(count: Int): Duration {
2725
val baseMs = base.inWholeMilliseconds
2826
val total = baseMs * fibonacci(offset + count)
29-
val result = total.milliseconds
27+
val result = Duration.milliseconds(total)
3028
return if (max == null) result else minOf(max, result)
3129
}
3230

3331
companion object {
34-
val defaultMax = 2.hours
32+
val defaultMax = Duration.hours(2)
3533
}
3634
}
3735

kotest-assertions/kotest-assertions-shared/src/commonMain/kotlin/io/kotest/assertions/until/until.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import io.kotest.assertions.failure
44
import kotlin.time.Duration
55
import kotlin.time.TimeSource
66
import kotlinx.coroutines.delay
7-
import kotlin.time.Duration.Companion.seconds
87

98
fun interface UntilListener<in T> {
109
fun onEval(t: T)
@@ -33,7 +32,7 @@ data class PatienceConfig(
3332
* This method supports suspension.
3433
*/
3534
suspend fun until(duration: Duration, f: suspend () -> Boolean) =
36-
until(duration, interval = 1.seconds.fixed(), f = f)
35+
until(duration, interval = Duration.seconds(1).fixed(), f = f)
3736

3837
/**
3938
* Executes a function at a given interval until it returns true, or until a specified duration has elapsed.
@@ -72,7 +71,7 @@ suspend fun <T> until(
7271
duration: Duration,
7372
predicate: suspend (T) -> Boolean,
7473
f: suspend () -> T
75-
): T = until(duration, interval = 1.seconds.fixed(), predicate = predicate, f = f)
74+
): T = until(duration, interval = Duration.seconds(1).fixed(), predicate = predicate, f = f)
7675

7776
/**
7877
* Executes the function [f] at a given [interval] until it returns a value that passes the given [predicate],
@@ -109,7 +108,7 @@ suspend fun <T> until(
109108
@Deprecated("Simply move the listener code into the predicate code. Will be removed in 6.0")
110109
suspend fun <T> until(
111110
duration: Duration,
112-
interval: Interval = 1.seconds.fixed(),
111+
interval: Interval = Duration.seconds(1).fixed(),
113112
predicate: suspend (T) -> Boolean,
114113
listener: UntilListener<T>,
115114
f: suspend () -> T

kotest-extensions/kotest-extensions-junitxml/src/jvmMain/kotlin/io/kotest/extensions/junitxml/JunitXmlReporter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import java.time.LocalDateTime
2424
import java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME
2525
import java.util.concurrent.ConcurrentHashMap
2626
import kotlin.reflect.KClass
27-
import kotlin.time.Duration.Companion.milliseconds
27+
import kotlin.time.Duration
2828
import kotlin.time.DurationUnit
2929

3030
@Deprecated("Now called JunitXmlReporter. Deprecated since 4.6.")
@@ -85,7 +85,7 @@ class JunitXmlReporter(
8585
val document = Document()
8686
val testSuite = Element("testsuite")
8787
testSuite.setAttribute("timestamp", ISO_LOCAL_DATE_TIME.format(getCurrentDateTime()))
88-
testSuite.setAttribute("time", (duration.milliseconds.toDouble(DurationUnit.SECONDS)).toString())
88+
testSuite.setAttribute("time", (Duration.milliseconds(duration).toDouble(DurationUnit.SECONDS)).toString())
8989
testSuite.setAttribute("hostname", hostname())
9090
testSuite.setAttribute("errors", filtered.filter { it.value.isError }.size.toString())
9191
testSuite.setAttribute("failures", filtered.filter { it.value.isFailure }.size.toString())

kotest-framework/kotest-framework-api/src/commonMain/kotlin/io/kotest/core/test/TestResult.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.kotest.core.test
22

33
import kotlin.time.Duration
4-
import kotlin.time.Duration.Companion.milliseconds
54

65
sealed interface TestResult {
76

@@ -10,19 +9,19 @@ sealed interface TestResult {
109
"Replaced with TestResult.Success. Deprecated since 5.0",
1110
ReplaceWith("TestResult.Success(durationMillis.milliseconds)", "kotlin.time.Duration.Companion.milliseconds")
1211
)
13-
fun success(durationMillis: Long): Success = Success(durationMillis.milliseconds)
12+
fun success(durationMillis: Long): Success = Success(Duration.milliseconds(durationMillis))
1413

1514
@Deprecated(
1615
"Replaced with TestResult.Failure. Deprecated since 5.0",
1716
ReplaceWith("TestResult.Failure(durationMillis.milliseconds, error)", "kotlin.time.Duration.Companion.milliseconds")
1817
)
19-
fun failure(error: AssertionError, durationMillis: Long): Failure = Failure(durationMillis.milliseconds, error)
18+
fun failure(error: AssertionError, durationMillis: Long): Failure = Failure(Duration.milliseconds(durationMillis), error)
2019

2120
@Deprecated(
2221
"Replaced with TestResult.Error. Deprecated since 5.0",
2322
ReplaceWith("TestResult.Error(durationMillis.milliseconds, error)", "kotlin.time.Duration.Companion.milliseconds")
2423
)
25-
fun error(error: Throwable, durationMillis: Long): Error = Error(durationMillis.milliseconds, error)
24+
fun error(error: Throwable, durationMillis: Long): Error = Error(Duration.milliseconds(durationMillis), error)
2625

2726
val Ignored = Ignored(null)
2827
}

kotest-framework/kotest-framework-engine/src/commonMain/kotlin/io/kotest/engine/spec/resolveConfig.kt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package io.kotest.engine.spec
22

33
import io.kotest.core.config.ProjectConfiguration
4-
import io.kotest.engine.tags.tags
54
import io.kotest.core.spec.Spec
65
import io.kotest.core.test.Enabled
76
import io.kotest.core.test.EnabledOrReasonIf
87
import io.kotest.core.test.TestCase
98
import io.kotest.core.test.config.ResolvedTestConfig
109
import io.kotest.core.test.config.UnresolvedTestConfig
11-
import kotlin.time.Duration.Companion.milliseconds
10+
import io.kotest.engine.tags.tags
11+
import kotlin.time.Duration
1212

1313
/**
1414
* Accepts an [UnresolvedTestConfig] and returns a [ResolvedTestConfig] by completing
@@ -41,10 +41,10 @@ internal fun resolveConfig(
4141

4242
val timeout = config?.timeout
4343
?: parent?.config?.timeout
44-
?: spec.timeout?.milliseconds
45-
?: spec.timeout()?.milliseconds
44+
?: spec.timeout?.toMillis()
45+
?: spec.timeout()?.toMillis()
4646
?: defaultTestConfig.timeout
47-
?: configuration.timeout.milliseconds
47+
?: configuration.timeout.toMillis()
4848

4949
val threads = config?.threads
5050
?: spec.threads
@@ -56,10 +56,10 @@ internal fun resolveConfig(
5656

5757
val invocationTimeout = config?.invocationTimeout
5858
?: parent?.config?.invocationTimeout
59-
?: spec.invocationTimeout?.milliseconds
60-
?: spec.invocationTimeout()?.milliseconds
59+
?: spec.invocationTimeout?.toMillis()
60+
?: spec.invocationTimeout()?.toMillis()
6161
?: defaultTestConfig.invocationTimeout
62-
?: configuration.invocationTimeout.milliseconds
62+
?: configuration.invocationTimeout.toMillis()
6363

6464
val extensions = (config?.listeners ?: emptyList()) +
6565
(config?.extensions ?: emptyList()) +
@@ -83,3 +83,6 @@ internal fun resolveConfig(
8383
blockingTest = config?.blockingTest ?: parent?.config?.blockingTest ?: spec.blockingTest ?: configuration.blockingTest,
8484
)
8585
}
86+
87+
fun Long.toMillis(): Duration = Duration.milliseconds(this)
88+
fun Long?.toMillis(): Duration? = if (this == null) null else Duration.milliseconds(this)

kotest-framework/kotest-framework-engine/src/commonMain/kotlin/io/kotest/engine/test/createResult.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import io.kotest.core.test.TestResult
44
import io.kotest.mpp.bestName
55
import kotlin.jvm.JvmName
66
import kotlin.time.Duration
7-
import kotlin.time.Duration.Companion.milliseconds
87

98
/**
109
* Returns a [TestResult] derived from a throwable.
@@ -19,7 +18,7 @@ import kotlin.time.Duration.Companion.milliseconds
1918
ReplaceWith("createTestResult(duration.milliseconds, error)")
2019
)
2120
fun createTestResult(duration: Long, error: Throwable?): TestResult =
22-
createTestResult(duration.milliseconds, error)
21+
createTestResult(Duration.milliseconds(duration), error)
2322

2423
fun createTestResult(duration: Duration, error: Throwable?): TestResult = when {
2524
error == null -> TestResult.Success(duration)
@@ -33,7 +32,7 @@ fun createTestResult(duration: Duration, error: Throwable?): TestResult = when {
3332
"Replaced with Throwable.toTestResult(Duration)",
3433
ReplaceWith("createTestResult(duration.milliseconds, this)", "kotlin.time.milliseconds")
3534
)
36-
fun Throwable.toTestResult(duration: Long): TestResult = createTestResult(duration.milliseconds, this)
35+
fun Throwable.toTestResult(duration: Long): TestResult = createTestResult(Duration.milliseconds(duration), this)
3736

3837
@JvmName("throwableToTestResult")
3938
fun Throwable.toTestResult(duration: Duration): TestResult = createTestResult(duration, this)

0 commit comments

Comments
 (0)