Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 430869 - Model Tests, Apt Tests, Compiler Apt Tests, Performance Tests: Failed to run
Summary: Model Tests, Apt Tests, Compiler Apt Tests, Performance Tests: Failed to run
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 4.4   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 4.4 M7   Edit
Assignee: Jay Arthanareeswaran CLA
QA Contact:
URL: http://download.eclipse.org/eclipse/d...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-21 07:28 EDT by shankha banerjee CLA
Modified: 2014-04-29 03:59 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description shankha banerjee CLA 2014-03-21 07:28:30 EDT
Build ID: N20140320-2000
Test Results: http://download.eclipse.org/eclipse/downloads/drops4/N20140320-2000/testresults/html/org.eclipse.jdt.core.tests.model_win32.win32.x86_7.0.html

http://download.eclipse.org/eclipse/downloads/drops4/N20140320-2000/testresults/html/org.eclipse.jdt.core.tests.model_macosx.cocoa.x86_5.0.html

TestCase AllJavaModelTests
TestCase RunAllTests
TestCase RunFormatterTests

java.lang.Exception: Could not find plugin "org.eclipse.jdt.core.tests.model"

org.eclipse.test.EclipseTestRunner$TestFailedException: java.lang.Exception: Could not find plugin "org.eclipse.jdt.core.tests.model"
at org.eclipse.test.EclipseTestRunner.runFailed(EclipseTestRunner.java:587)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:516)
at org.eclipse.test.EclipseTestRunner.<init>(EclipseTestRunner.java:496)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:308)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:36)
at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:32)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:133)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:103)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:378)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
at org.eclipse.core.launcher.Main.main(Main.java:34)
Caused by: java.lang.Exception: Could not find plugin "org.eclipse.jdt.core.tests.model"
at org.eclipse.test.EclipseTestRunner.loadSuiteClass(EclipseTestRunner.java:604)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:513)
Comment 1 shankha banerjee CLA 2014-03-21 07:32:57 EDT
org.eclipse.jdt.apt.tests:

java.lang.Exception: Could not find plugin "org.eclipse.jdt.apt.tests"

java.lang.Exception: Could not find plugin "org.eclipse.jdt.apt.tests"

org.eclipse.test.EclipseTestRunner$TestFailedException: java.lang.Exception: Could not find plugin "org.eclipse.jdt.apt.tests"
at org.eclipse.test.EclipseTestRunner.runFailed(EclipseTestRunner.java:587)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:516)
at org.eclipse.test.EclipseTestRunner.<init>(EclipseTestRunner.java:496)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:308)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:36)
at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:32)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:133)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:103)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:378)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
at org.eclipse.core.launcher.Main.main(Main.java:34)
Caused by: java.lang.Exception: Could not find plugin "org.eclipse.jdt.apt.tests"
at org.eclipse.test.EclipseTestRunner.loadSuiteClass(EclipseTestRunner.java:604)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:513)
Comment 2 shankha banerjee CLA 2014-03-21 07:35:47 EDT
org.eclipse.jdt.compiler.apt.tests

java.lang.Exception: Could not find plugin "org.eclipse.jdt.compiler.apt.tests"

org.eclipse.test.EclipseTestRunner$TestFailedException: java.lang.Exception: Could not find plugin "org.eclipse.jdt.compiler.apt.tests"
at org.eclipse.test.EclipseTestRunner.runFailed(EclipseTestRunner.java:587)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:516)
at org.eclipse.test.EclipseTestRunner.<init>(EclipseTestRunner.java:496)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:308)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:36)
at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:32)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:133)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:103)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:378)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
at org.eclipse.core.launcher.Main.main(Main.java:34)
Caused by: java.lang.Exception: Could not find plugin "org.eclipse.jdt.compiler.apt.tests"
at org.eclipse.test.EclipseTestRunner.loadSuiteClass(EclipseTestRunner.java:604)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:513)


==========================================================================

org.eclipse.jdt.core.tests.performance

java.lang.Exception: Could not find plugin "org.eclipse.jdt.core.tests.performance"

org.eclipse.test.EclipseTestRunner$TestFailedException: java.lang.Exception: Could not find plugin "org.eclipse.jdt.core.tests.performance"
at org.eclipse.test.EclipseTestRunner.runFailed(EclipseTestRunner.java:587)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:516)
at org.eclipse.test.EclipseTestRunner.<init>(EclipseTestRunner.java:496)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:308)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:36)
at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:32)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:133)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:103)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:378)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
at org.eclipse.core.launcher.Main.main(Main.java:34)
Caused by: java.lang.Exception: Could not find plugin "org.eclipse.jdt.core.tests.performance"
at org.eclipse.test.EclipseTestRunner.loadSuiteClass(EclipseTestRunner.java:604)
at org.eclipse.test.EclipseTestRunner.getTest(EclipseTestRunner.java:513)
Comment 3 shankha banerjee CLA 2014-03-21 07:46:52 EDT

*** This bug has been marked as a duplicate of bug 430482 ***
Comment 4 Jay Arthanareeswaran CLA 2014-03-24 09:30:53 EDT
Reopening, so we can have a discussion on alternate solutions to get our tests running again. 

1. Obviously, the first option is to run these tests with a 1.8 JRE. The second option is:

2. The reason the org.eclipse.jdt.compiler.apt.tests project is set up with 1.8 BREE and 1.8 JRE in it's build path is because the project is referencing some 1.8 specific annotation APIs (mostly in java.lang.annotation package). If we are to get rid of the dependency on 1.8 JRE, we should include those APIs, either source or library form, in the test project. This is no big deal as long we work out the legal aspect.
Comment 5 Jay Arthanareeswaran CLA 2014-03-25 00:42:33 EDT
This is fixed through commit:

http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=a1b73ab4292b1a5c4bee65eb3b80141d6400d5c6
Comment 6 Jay Arthanareeswaran CLA 2014-03-25 05:47:52 EDT
Okay, this will make the model and other tests run again with 1.7 JRE. But there will be some failures (as many as 33) in compiler.apt.tests suite with windows and mac. This is because the classes were compiled with 1.8 compiler and won't be loaded with 1.7 JVM. I am looking at options to work around this.
Comment 7 Markus Keller CLA 2014-03-25 06:25:19 EDT
It's OK to just skip Java-8-specific tests when running on an older JRE.

The cleanest solution would be to extract tests that depend on Java 8 into a separate test bundle, which is just not loaded in test runs on older JREs.
Comment 8 Jay Arthanareeswaran CLA 2014-03-25 06:31:32 EDT
(In reply to Markus Keller from comment #7)
> It's OK to just skip Java-8-specific tests when running on an older JRE.
> 
> The cleanest solution would be to extract tests that depend on Java 8 into a
> separate test bundle, which is just not loaded in test runs on older JREs.

Unfortunately, the failing ones would be non Java 8 tests. These are affected because we try to load all the Java 8 and non Java 8 test annotation processors with the same JVM. If there's no easy way out, we will have to split the test framework itself into two sets of tests or worst case have a separate bundle for Java 8 tests.
Comment 9 Jay Arthanareeswaran CLA 2014-03-25 11:19:04 EDT
Reopening to fix the failing compiler.apt.tests with JRE 1.7 and below.
Comment 10 Jay Arthanareeswaran CLA 2014-03-25 11:59:59 EDT
Fix being considered:

https://git.eclipse.org/r/#/c/23868/

I was hoping to have some backing from the Hudson job. As it turns out, it's still failing with compiling the 1.8 annotation bundle.
Comment 11 Jay Arthanareeswaran CLA 2014-03-25 12:38:45 EDT
(In reply to Jayaprakash Arthanareeswaran from comment #8)
> we will
> have to split the test framework itself into two sets of tests or worst case
> have a separate bundle for Java 8 tests.

I have done this via commit:

http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=0baf29c6e5669fd5c3e5f5cbc326d201ccdc5b3c

It appears that we framework is using a different class loader than the current JRE run for the test. So, my efforts to squeeze in the stub as a endorsed dir didn't work. Hence, I have separated the Java 8 specific test processors and related files into a separate source folder and created a new jar desc for them. Now the JLS 8 tests can simply choose to run or return depending on the JRE used.
Comment 12 Jay Arthanareeswaran CLA 2014-03-27 02:49:40 EDT
http://download.eclipse.org/eclipse/downloads/drops4/N20140326-2000/testResults.php

The tests are running again on Mac and windows. There is one known failure in jdt.apt.tests, which is being tracked by bug 431253.
Comment 13 Srikanth Sankaran CLA 2014-04-29 03:59:17 EDT
Verified for 4.4 M7