Hi JM,

You are running the test as a pure Junit test in eclipse right?
This is expected given the assumption that the test is run through
surefire plugin:
https://github.com/apache/hbase/blob/0.94/src/test/java/org/apache/hadoop/h
base/coprocessor/TestClassLoading.java#L171


Additional class path tweaking is needed there to make it working from
eclipse.

/adrian


On 1/30/13 4:03 PM, "Jean-Marc Spaggiari" <[email protected]> wrote:

>Hi Ted,
>
>You have a point for the JVM!
>
>MVN is running with: Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
>And Eclikpse with /usr/local/jdk1.7.0_05/
>
>I change alligned the 2 to point to 1.7 but I'm still getting the same
>results.
>
>
>From mvn:
>Running org.apache.hadoop.hbase.coprocessor.TestClassLoading
>Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.215 sec
>
>
>
>From the eclipse console, for TestClassLoading.testHBase3810 I can see
>this:
>
>2013-01-30 08:46:04,962 DEBUG [main]
>coprocessor.TestClassLoading(178): Setting classpath to:
>/home/jmspaggi/workspace/hbase/hbase-server/./target/classes:null
>/home/jmspaggi/workspace/hbase/hbase-server/target/test-data/62cedbf2-dfb4
>-4d6c-af05-bd9af0e46c77/src/TestCP1.java:1:
>cannot access com.google.common.collect.ImmutableList
>class file for com.google.common.collect.ImmutableList not found
>import org.apache.hadoop.hbase.coprocessor.*;public class TestCP1
>extends BaseRegionObserver {}
>
>From the eclipse console, for
>TestClassLoading.testClassLoadingFromLibDirInJar I can see this:
>2013-01-30 08:57:24,838 DEBUG [main]
>coprocessor.TestClassLoading(178): Setting classpath to:
>/home/jmspaggi/workspace/hbase/hbase-server/./target/classes:null
>/home/jmspaggi/workspace/hbase/hbase-server/target/test-data/4585d7e8-a341
>-45a5-810e-cc6157e740fe/src/TestCP1.java:1:
>cannot access com.google.common.collect.ImmutableList
>class file for com.google.common.collect.ImmutableList not found
>import org.apache.hadoop.hbase.coprocessor.*;public class TestCP1
>extends BaseRegionObserver {}
>
>Exact same 2 issues.
>
>Here is the related code:
>    String classpath =
>        currentDir + File.separator + "target"+ File.separator +
>"classes" +
>        System.getProperty("path.separator") +
>        // Note that the below trick only works if mvn is running the
>test;
>        // doesn't work in eclipse for example.
>        System.getProperty("surefire.test.class.path");
>
>That's why it's not working in Eclipse ;)
>
>We should read the classpath from eclipse and add it too to this string...
>
>JM
>
>2013/1/30, Ted <[email protected]>:
>> What test failure did you see ?
>>
>> Test output would help us understand.
>>
>> Btw jdk in eclipse is the same as jdk version you use in shell, right ?
>>
>> On Jan 30, 2013, at 4:54 AM, Jean-Marc Spaggiari
>><[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> JUnit tests are failing in Eclipse for TestClassLoading but are
>>> working fine with mvn command line.
>>>
>>> Does anyone know why and how to fix that?
>>>
>>> JM
>>

Reply via email to