Hyades feature: 90625

Author: Julien Canches
email: julien.canches@fr.ibm.com
Last update: October 5th, 2005

Rough workload estimate for design/code/test/doc/ship in person weeks:  8

Requirement summary

Please refer to feature document 74796 for the general context of this enhancement.

This enhancement covers theme 2 described in feature document 74796.

User interactions

1.1 New JUnit Plugin Test Suite Wizard

This wizard is used create a JUnit Plugin Test Suite. A JUnit Plugin Test Suite is identical in its structure as a "regular" JUnit Test Suite, with the difference that it must belong to a Plugin project, and that it is run within an Eclipse Workbench.

1.2 New Workbench Location Wizard

This wizard is used to create a "Workbench Location". Workbench locations are locations augmented with specific properties related to an Eclipse workbench. A workbench location is used to specify the details about an eclipse instance where tests can be run. The wizard provides two alternatives : create a workbench location with default settings for an execution on target platform specified in Eclipse preferences, or create a workbench location for another host and/or another eclipse installation.

1.3 Workbench Location Property Group Form

This is a page that appears in the location editor when a Workbench Location is opened. This page enables the user to edit the various details about a workbench location. These details include: machine name, installation directory of Eclipse, lists of plugins to load, name of the eclipse application or product to launch, program arguments, configuration settings, and so on.

1.4 Launch Configuration specifics

JUnit Plugin tests are launched using the "Test" launch configuration. When a JUnit Plugin Test is selected, a default deployment is proposed, even if the user has not created such one. The default deployment deploys and runs the test on the target platform as defined in Eclipse preferences.

Design summary

2.1 Model

Definition of a new test type ("JUnit Plugin Test").
Model facade to create/modify/read workbench properties in a location.

2.2 Code Generation

The JUnit code generation is extended to take the specifics of plugin projects classpath into account.

2.3 Launch Configuration

Specific deployments provider for the type "JUnit Plugin Test".

2.4 Test Execution Harness

Remote Workbench Location: allows the local eclipse to remote control the "Eclipse Tester Agent" (see section 2.5)
Workbench deployment adapter: performs the setup of an eclipse execution on a remote host (initialization of the configuration area, the workspace, and the temporary test plugins).
Workbench Executor Stub: performs the remote launch of an eclipse process, and the remote launch of test plugins on this remote eclipse process.

Note: the new components in this section highly depend on PDE and OSGI features.

2.5 Runtime

The runtime for plugin tests is delivered as an Eclipse plugin which must be installed in the target eclipse.
This runtime provides an agent named "Eclipse Tester Agent" which allows the remote Eclipse to receive "launch test" commands and run a test by 1) loading a temporary test plugin, 2) launch a "tester" agent, 3) run the test using the "tester" agent, 4) unload the temporary test plugin. Owing to this agent, the user may interactively launch tests without having to restart Eclipse between each of test execution, and without having to use the "hot-replace" feature of the debugger.

2.6 UI

The new UI components are:

The various UI extension points defined for the type "JUnit test" (test navigator, launch configuration) are re-used for the type "JUnit Plugin test".

Return to TPTP features list