Skip to content

Commit 7af7ede

Browse files
committed
Add overload with long for CoroutinesTimeout.seconds
Fixes #1184
1 parent c022ab6 commit 7af7ede

File tree

5 files changed

+13
-8
lines changed

5 files changed

+13
-8
lines changed

binary-compatibility-validator/reference-public-api/kotlinx-coroutines-debug.txt

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ public final class kotlinx/coroutines/debug/junit4/CoroutinesTimeout : org/junit
4747

4848
public final class kotlinx/coroutines/debug/junit4/CoroutinesTimeout$Companion {
4949
public final fun seconds (IZ)Lkotlinx/coroutines/debug/junit4/CoroutinesTimeout;
50+
public final fun seconds (JZ)Lkotlinx/coroutines/debug/junit4/CoroutinesTimeout;
5051
public static synthetic fun seconds$default (Lkotlinx/coroutines/debug/junit4/CoroutinesTimeout$Companion;IZILjava/lang/Object;)Lkotlinx/coroutines/debug/junit4/CoroutinesTimeout;
52+
public static synthetic fun seconds$default (Lkotlinx/coroutines/debug/junit4/CoroutinesTimeout$Companion;JZILjava/lang/Object;)Lkotlinx/coroutines/debug/junit4/CoroutinesTimeout;
5153
}
5254

kotlinx-coroutines-debug/src/junit4/CoroutinesTimeout.kt

+7-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,13 @@ public class CoroutinesTimeout(
4949
* Creates [CoroutinesTimeout] rule with the given timeout in seconds.
5050
*/
5151
public fun seconds(seconds: Int, cancelOnTimeout: Boolean = false): CoroutinesTimeout =
52-
CoroutinesTimeout(TimeUnit.SECONDS.toMillis(seconds.toLong()), cancelOnTimeout)
52+
seconds(seconds.toLong(), cancelOnTimeout)
53+
54+
/**
55+
* Creates [CoroutinesTimeout] rule with the given timeout in seconds.
56+
*/
57+
public fun seconds(seconds: Long, cancelOnTimeout: Boolean = false): CoroutinesTimeout =
58+
CoroutinesTimeout(TimeUnit.SECONDS.toMillis(seconds), cancelOnTimeout) // Overflow is properly handled by TimeUnit
5359
}
5460

5561
/**

kotlinx-coroutines-debug/src/junit4/CoroutinesTimeoutStatement.kt

+3-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ internal class CoroutinesTimeoutStatement(
5252
"${testTimeoutMs / 1000} seconds"
5353
else "$testTimeoutMs milliseconds"
5454

55-
val message = "Test ${description.methodName} timed out after $units"
56-
System.err.println("\n$message\n")
55+
System.err.println("\nTest ${description.methodName} timed out after $units\n")
5756
System.err.flush()
5857

5958
DebugProbes.dumpCoroutines()
@@ -65,7 +64,7 @@ internal class CoroutinesTimeoutStatement(
6564
* 2) Cancel all coroutines via debug agent API (changing system state!)
6665
* 3) Throw created exception
6766
*/
68-
val exception = createTimeoutException(message, testThread)
67+
val exception = createTimeoutException(testThread)
6968
cancelIfNecessary()
7069
// If timed out test throws an exception, we can't do much except ignoring it
7170
throw exception
@@ -79,7 +78,7 @@ internal class CoroutinesTimeoutStatement(
7978
}
8079
}
8180

82-
private fun createTimeoutException(message: String, thread: Thread): Exception {
81+
private fun createTimeoutException(thread: Thread): Exception {
8382
val stackTrace = thread.stackTrace
8483
val exception = TestTimedOutException(testTimeoutMs, TimeUnit.MILLISECONDS)
8584
exception.stackTrace = stackTrace

kotlinx-coroutines-debug/test/junit4/CoroutinesTimeoutTest.kt

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
package kotlinx.coroutines.debug.junit4
66

7-
import junit4.*
87
import kotlinx.coroutines.*
98
import org.junit.*
109
import org.junit.runners.model.*

kotlinx-coroutines-debug/test/junit4/TestFailureValidation.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
* Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
33
*/
44

5-
package junit4
5+
package kotlinx.coroutines.debug.junit4
66

77
import kotlinx.coroutines.debug.*
8-
import kotlinx.coroutines.debug.junit4.*
98
import org.junit.rules.*
109
import org.junit.runner.*
1110
import org.junit.runners.model.*

0 commit comments

Comments
 (0)