You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2017/06/19 00:18:00 UTC

[jira] [Commented] (DRILL-1744) Many unit tests fail when run outside Maven (e.g., in Eclipse)

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

Paul Rogers commented on DRILL-1744:
------------------------------------

This problem is due to (at least in Drill 1.10) the fact that the Maven SureFire setup in the pom file includes many custom config properties set at the command line.

Since the time of this bug, we have added a test framework that replicates these settings so that tests created using the {{ClusterFixture}} have the same setup as the Maven tests.

However, we have hundreds of old tests that don't use this new fixture. To run those, you must modify the Eclipse launch to set the same command-line options as are set in the pom file.

> Many unit tests fail when run outside Maven (e.g., in Eclipse)
> --------------------------------------------------------------
>
>                 Key: DRILL-1744
>                 URL: https://issues.apache.org/jira/browse/DRILL-1744
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Daniel Barclay
>            Priority: Minor
>             Fix For: Future
>
>
> Many of the JUnit unit tests fail when run in Eclipse even though they seem to work when run using Maven.  
> It seems that some of the setup required to run the tests is missing from the test classes and is only in the Maven configuration.
> (To confirm that it's not Eclipse-specific, I tried checking using the plain JUnit test runner from the command line, but don't know what all to put in the classpath (e.g., to eliminate errors such as "java.lang.SecurityException: Invalid signature file digest for Manifest main attributes").)
> In invoking "Run As" . "JUnit Test" on drill-java-exec, 48 of 375 test methods fail with errors.  (None fail assertions.)  The status of the remaining 215 isn't clear; an out-of-memory failure hangs the JUnit run.
> In drill-jdbc, 125 of the 153 tests yield errors.
> In drill-storage-hbase, most tests yield errors.
> In drill-common, in CheckStorageConfig, one test fails with an error and the other fails an assertion.
> The drill-jdbc failures seem to be because the tests don't disable the Jetty server.  (Running some test method individually works, and running multiple tests yields BindExceptions for all but the first.)
> Strangely, running org.apache.drill.exec.physical.impl.TopN.TestSimpleTopN by itself also yields a BindException.
> The tests should probably be written so that they run in environments other than a Maven run (e.g., in common JUnit runners) as much as possible. 
> Any settings that can't be configured in the tests (e.g., JVM memory settings?) should be documented somewhere (maybe in the Developing Drill pages of the wiki, maybe somewhere in the code).  (Possibly some code should check Runtime.getRuntime().maxMemory() and warn when appropriate.)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)