-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
11, 17, 19, 20
-
generic
-
generic
ADDITIONAL SYSTEM INFORMATION :
Windows 10, JDK 19.0.1
A DESCRIPTION OF THE PROBLEM :
abs(duration.toSecondsPart()) != abs(duration.negated.toSecondsPart)
It is expected that those values should be the same.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
@Test
fun `test JDK bug`() {
println("Current JVM version - " + System. getProperty("java.version"))
val duration = Duration.ofNanos(670000023)
println(duration)
assertThat(duration.toSecondsPart()).isEqualTo(0)
assertThat(duration.negated().toSecondsPart()).isEqualTo(0)
}
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Test should pass.
ACTUAL -
Current JVM version - 19.0.1
PT0.670000023S
expected:<[0]> but was:<[-1]>
Expected :[0]
Actual :[-1]
---------- BEGIN SOURCE ----------
@Test
fun `test JDK bug`() {
println("Current JVM version - " + System. getProperty("java.version"))
val duration = Duration.ofNanos(670000023)
println(duration)
assertThat(duration.toSecondsPart()).isEqualTo(0)
assertThat(duration.negated().toSecondsPart()).isEqualTo(0)
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Manually calculate toSecondsPart
FREQUENCY : always
Windows 10, JDK 19.0.1
A DESCRIPTION OF THE PROBLEM :
abs(duration.toSecondsPart()) != abs(duration.negated.toSecondsPart)
It is expected that those values should be the same.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
@Test
fun `test JDK bug`() {
println("Current JVM version - " + System. getProperty("java.version"))
val duration = Duration.ofNanos(670000023)
println(duration)
assertThat(duration.toSecondsPart()).isEqualTo(0)
assertThat(duration.negated().toSecondsPart()).isEqualTo(0)
}
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Test should pass.
ACTUAL -
Current JVM version - 19.0.1
PT0.670000023S
expected:<[0]> but was:<[-1]>
Expected :[0]
Actual :[-1]
---------- BEGIN SOURCE ----------
@Test
fun `test JDK bug`() {
println("Current JVM version - " + System. getProperty("java.version"))
val duration = Duration.ofNanos(670000023)
println(duration)
assertThat(duration.toSecondsPart()).isEqualTo(0)
assertThat(duration.negated().toSecondsPart()).isEqualTo(0)
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Manually calculate toSecondsPart
FREQUENCY : always