Summary: | Setting the bootclasspath for some VMs fails the evaluation tests | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Olivier Thomann <Olivier_Thomann> | ||||||
Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> | ||||||
Status: | VERIFIED FIXED | QA Contact: | |||||||
Severity: | normal | ||||||||
Priority: | P3 | CC: | jerome_lanneluc | ||||||
Version: | 3.2 | ||||||||
Target Milestone: | 3.3 M6 | ||||||||
Hardware: | PC | ||||||||
OS: | Windows XP | ||||||||
Whiteboard: | |||||||||
Attachments: |
|
Description
Olivier Thomann
2006-05-31 14:37:07 EDT
Created attachment 43142 [details]
Proposed fix
With this patch the tests are still ok with standard VMS like Sun or IBM.
I confirm that JRockit can fail some evaluation tests without this fix. Jerome, please double-check the patch. I would suggest it for 3.2.1. If the fix is good, I would fix it for 3.2, so JRockit can qualify in time. This needs a comment with at least a reference to this bug explaining why the bootClasspath() is put on the regular classpath(). Also has this change been tested on Mac and Linux ? So far I tested it on Windows. I can run the test on Linux, but it is more difficult to run the tests on Mac. If you prefer I can make this change only for JRockit by defining a new VM launcher. On Mac the VM launcher used is not a StandardVMLauncher. It is a MacVMLauncher. So this change has no impact on Mac. (In reply to comment #7) > On Mac the VM launcher used is not a StandardVMLauncher. It is a MacVMLauncher. > So this change has no impact on Mac. > And there is no JRockit on Mac ? No, not yet. Linux and Windows only so far. The debug evaluation tests and all evaluation tests are disabled on Linux. So this leaves only Windows as the tested platform. And the patch works fine on Windows. We could however differ it to 3.2.1 since they have not been reported as problems. I got failures running the EvaluationTests which are private tests for now. The debug evaluation tests and all evaluation tests are disabled on Linux. So this leaves only Windows as the tested platform. And the patch works fine on Windows. We could however differ it to 3.2.1 since they have not been reported as problems. I got failures running the EvaluationTests which are private tests for now. I confirm that not fixing this is causing grief to the tests in the package org.eclipse.jdt.core.tests.eval. I suggest to add a new VM launcher for JRockit VM that would not set the bootclasspath but instead set the classpath only. This would not impact the existing Sun VMs and would allow JRockit to pass these tests. This doesn't seem to be enough. Now I get: java.lang.SecurityException: Prohibited package name: java.util.zip I'll investigate what can be causing this error. Ok, the failures I got seems to come from the usage of the java.util.zip package as a context for some evaluation test. JRockit VM doesn't like this and issue a SecurityException. Two tests are concerned by this: org.eclipse.jdt.core.tests.eval.CodeSnippetTest.testPackage and: org.eclipse.jdt.core.tests.eval.NegativeCodeSnippetTest.testChangePackage. See http://forums.bea.com/bea/thread.jspa?forumID=2037&threadID=600008522&messageID=600017934#600017934 on the bea forums. I don't understand the rational behind this error. We might simply want to exclude these two tests when running them with JRockit for now. Created attachment 43393 [details]
Proposed fix
This patch adds a new VM launcher for JRockit VMs. It also disables the two tests mentionned before when the running VM is JRockit.
Released for 3.3M6. Verified for 3.3 M6 using build I20070321-0010 |