| |
|
|
| Change By: |
Martin Šimka |
| Environment: |
SQL Server 2012, 2014, 2016 MySQL 5.5, MySQL 5.7 |
| Summary: |
TimeAndTimestampTest fails with SQL Server and MYSQL |
|
{{org.hibernate.test.type.TimeAndTimestampTest}}
*SQL Server* {noformat} java.lang.AssertionError: expected:<12356> but was:<12357> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:645) at org.junit.Assert.assertEquals(Assert.java:631) at org.hibernate.test.type.TimeAndTimestampTest.lambda$test$1(TimeAndTimestampTest.java:57) at org.hibernate.testing.transaction.TransactionUtil.doInHibernate(TransactionUtil.java:318) at org.hibernate.test.type.TimeAndTimestampTest.test(TimeAndTimestampTest.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:45) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:748) {noformat}
Seems like changing timeValue to odd number helps, but I'm not sure if it's correct fix. Also I'm not sure why there is modulo in assertion instead of {{getTime}}.
{code:java} event.timeValue = new Time( 12356 ); {code} *MySQL* {noformat} java.lang.AssertionError: expected:<12356> but was:<12000> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:645) at org.junit.Assert.assertEquals(Assert.java:631) at org.hibernate.test.type.TimeAndTimestampTest.lambda$test$1(TimeAndTimestampTest.java:57) at org.hibernate.testing.transaction.TransactionUtil.doInHibernate(TransactionUtil.java:318) at org.hibernate.test.type.TimeAndTimestampTest.test(TimeAndTimestampTest.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:45) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:748) {noformat} MySQL 5.5 - {{org.hibernate.dialect.MySQL5InnoDBDialect}} MySQL 5.7 - {{org.hibernate.dialect.MySQL57Dialect}}
I see that it is skipped for {{MySQL8Dialect}} and {{MariaDBDialect}} perhaps it should be skipped also for older MySQL dialects |
|
|
|
| |
|