Community
Participate
Working Groups
NoClassDefFoundError when launching TPTP JUnit Plug-in tests. See: /test-results/org.eclipse.hyades.tests/BVT_results/AllBVTJUnitPluginTests_IBM_JRE_150.execution /test-results/org.eclipse.hyades.tests/BVT_results/AllBVTJUnitPluginTests_IBM_JRE_160.execution Exception: java.lang.NoClassDefFoundError: junit.framework.Test at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:68) at java.lang.J9VMInternals.initialize(J9VMInternals.java:129) at org.eclipse.hyades.tests.junit.plugin.AllBVTJUnitPluginTests.suite(AllBVTJUnitPluginTests.java:41) at org.eclipse.hyades.tests.junit.plugin.AllBVTJUnitPluginTests_IBM_JRE_150.suite(AllBVTJUnitPluginTests_IBM_JRE_150.java:32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.hyades.test.java.runner.HyadesJUnitRunner.getTest(HyadesJUnitRunner.java:56) at org.eclipse.tptp.test.tools.junit.plugin.runner.PluginRunner.launchTest(PluginRunner.java:53) at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.launchTest(EclipseTesterAgent.java:138) at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.doHandleCommand(EclipseTesterAgent.java:119) at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.startProcessing(EclipseTesterAgent.java:68) at org.eclipse.tptp.test.tools.junit.plugin.runner.ui.PluginTestHarness$1.run(PluginTestHarness.java:50) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3959) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3580) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2407) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2371) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2220) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.tptp.test.tools.junit.plugin.runner.ui.UITestApplication.start(UITestApplication.java:49) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:367) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:611) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:566) at org.eclipse.equinox.launcher.Main.run(Main.java:1363) at org.eclipse.equinox.launcher.Main.main(Main.java:1339) at org.eclipse.core.launcher.Main.main(Main.java:34)
Ancillary symptom from 299803. This symptom is only reproducible using the ASF to launch a TPTP JUnit Plug-in test using the TPTP-4.7.0-201001261900 build. This symptom is not reproducible using the UI to launch a TPTP JUnit Plug-in test (AC or IAC) using the TPTP-4.7.0-201001261900 build.
Created attachment 157515 [details] Patch.
The fix for defect 299803 (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=299803#c3) changed the JUnit plug-in dependency version range to 3.8.1 (inclusive) to 4.8.0 (exclusive) in the org.eclipse.hyades.test.tools.core plug-in. However, the JUnit plug-in dependency version increased to org.junit_4.8.1.v4_8_1_v20100114-1600 in the latest Eclipse 3.6 build, which is also packaged in the TPTP 4.7.0 Agent Controller. The fix is to increase the version range to 3.8.1 (inclusive) to 5.0.0 (exclusive). Although it is not clear why only TPTP JUnit Plug-in execution via the ASF is affected, the following scenarios have been tested with this fix with success: IAC: -TPTP JUnit execution in a Java Project from the UI. -TPTP JUnit Plug-in execution in a Plug-in Project from the UI. -TPTP JUnit Plug-in execution in a Plug-in Project with a deployment from the UI. AC: -TPTP JUnit execution in a Java Project from the UI. -TPTP JUnit Plug-in execution in a Plug-in Project from the UI. -TPTP JUnit Plug-in execution in a Plug-in Project with a deployment from the UI. -TPTP JUnit and JUnit Plug-in execution in a Plug-in Project with a deployment from ASF. The attached patched checked to CVS (HEAD).
Verified in the following TPTP BVT results in CVS (HEAD): /test-results/org.eclipse.hyades.tests/BVT_results/AllBVTJUnitPluginTests_IBM_JRE_150.execution /test-results/org.eclipse.hyades.tests/BVT_results/AllBVTJUnitPluginTests_IBM_JRE_160.execution Note, https://bugs.eclipse.org/bugs/show_bug.cgi?id=302579 still exists in these TPTP BVT results in CVS (HEAD).