drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Laurent Goujon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5170) Mockito-based unit tests fail when run under Java 8
Date Fri, 30 Dec 2016 21:18:58 GMT

    [ https://issues.apache.org/jira/browse/DRILL-5170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15788361#comment-15788361

Laurent Goujon commented on DRILL-5170:

mockito or jmockit? the jmockit version used by Drill is fairly old, and it might be possible
the bytecode library used by it doesn't fully support Java8. And unfortunately the API changed
quite a bit since (on the other side, mockito API for the 1.x branch has been stable).

> Mockito-based unit tests fail when run under Java 8
> ---------------------------------------------------
>                 Key: DRILL-5170
>                 URL: https://issues.apache.org/jira/browse/DRILL-5170
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.8.0
>            Reporter: Paul Rogers
>            Priority: Minor
> Drill makes extensive use of the Mockito mocking library. Drill uses a very old version
of Mockito. Mockito appears to perform byte-code manipulations that are incompatible with
Java 8. For example:
> {code}
> cd exec/java-exec/
> mvn surefire:test -Dtest=TestSimpleProjection
> Running org.apache.drill.exec.physical.impl.project.TestSimpleProjection#project
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.794 sec <<<
FAILURE! - in org.apache.drill.exec.physical.impl.project.TestSimpleProjection
> project(org.apache.drill.exec.physical.impl.project.TestSimpleProjection)  Time elapsed:
0.215 sec  <<< ERROR!
> java.lang.VerifyError: null
> 	at sun.instrument.InstrumentationImpl.redefineClasses0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> {code}
> A similar error occurs when running the same unit test under Eclipse.
> Fixing this issue is non-trivial. Mockito is subject to rapid change. The semantics of
mocks has changed significantly. Code that works fine in our old version requires extensive
rework to work with the current version.
> For now, the only workaround is to compile Drill under the (obsolete) Java 7 and use
that version to run unit tests.

This message was sent by Atlassian JIRA

View raw message