org.eclipse.hyades.test.tools.core.services
Class TestExecutionService
java.lang.Object
org.eclipse.hyades.automation.core.AbstractService
org.eclipse.hyades.automation.server.AbstractService
org.eclipse.hyades.automation.server.AbstractRelaunchableService
org.eclipse.hyades.automation.server.AbstractWorkspaceSensitiveService
org.eclipse.hyades.automation.server.AbstractProjectSensitiveService
org.eclipse.hyades.test.core.services.AbstractTestExecutionService
org.eclipse.hyades.test.tools.core.services.TestExecutionService
- All Implemented Interfaces:
- java.io.Serializable, org.eclipse.hyades.automation.core.Service
- public class TestExecutionService
- extends AbstractTestExecutionService
The test execution service is a public service that is exposed to clients of
TPTP -- any test and associated test type that can be launched from the test
execution harness can be execute via the test execution service. The test
execution service leverages launch configurations to handle the executing of
tests in a polymorphic manner. Each test type can define its own launch
configuration delegate which allows for different behavior to execute for
each particular test type (such as JUnit, manual test, URL test, auto UI,
JUnit plug-in test). These launch configuration delegates are already
available for the TPTP supported base test types (as well as downstream test
types that would be extending from the base TPTP functionality). These are
used from the UI when a test is launched via a launch configuration.
Supported properties are (some properties are defined by the concrete service
and some are inherited via the base classes)
AbstractWorkspaceCognizantService defines:
- workspace
(workspace to run in, optional)
- vmArgs
(arguments to use for the VM executing the service, optional)
AbstractTestExecutionService defines:
- connection
(connection string identifying agent controller to use for
this test execution, optional, if not specified the most suitable
localhost agent controller is assumed)
- classpath
(classpath for test execution environment, prepended if
present, optional)
- project
(project to run in, optional)
- suite
(suite to execute, required, relative to project or absolute)
- results
(results name overrides default, optional, relative to project
or absolute)
- overwrite
(overwrite results and do not create new results named in a way that
is derived from results name, optional, default is false)
- deployment
(deployment to use for test execution, optional, uses default
deployment if not specified)
Example supported property combinations (set via the ant, shell or other
technology specific client adapeters), roughly listed from the least
explicitly specified execution to the most specified (examples contain
platform specific path specifiers, adjust to the platform where the test
lives).
- suite=/home/scotts/tests/A.testsuite
- project=B,
suite=B.testsuite
- workspace=/home/scotts/workspace,
suite=/home/scotts/tests/E.testsuite
- connection=tptp:rac:/192.168.1.112,
suite=c:/tests/H.testsuite
- workspace=d:\workspace,
project=C,
suite=C.testsuite
- connection=tptp:iac:/localhost,
project=I,
suite=I.testsuite
- project=D,
testsuite=D.testsuite,
deployment=D.deploy
- workspace=d:\workspace,
project=E,
suite=E.testsuite,
deployment=E.deploy,
results=latestResults.execution
- suite=./tests/E.testsuite,
results=./tests/results/latestResults.execution,
classpath=./tests/bin
- connection=tptp:rac:localhost,
suite=.\tests\F.testsuite,
results=.\tests\results\latestResults.execution,
classpath=.\tests\bin;.\aux\bin
vmArgs=-Xmx640
Typical use cases:
- In the case where the tests are executed on a build machine with a
workspace that is the default installed with not much change, one would
typically specify all absolute paths or relative paths to the current working
directory. Classpath would typically be specified and results would be
specified.
- In the case where the tests are executed on a developer machine, in a
workspace retrieved from CVS for example, this would usually use the project
specified, relative to project format. Workspace, project and testsuite
specified, and perhaps deployment for cases where there are multiple
deployments to be executed per test (or the test is to be executed on a
remote machine)
- See Also:
AbstractTestExecutionService,
Serialized Form
| Nested classes inherited from class org.eclipse.hyades.automation.core.Service |
org.eclipse.hyades.automation.core.Service.Discoverable, org.eclipse.hyades.automation.core.Service.Executable, org.eclipse.hyades.automation.core.Service.Requestable |
| Fields inherited from class org.eclipse.hyades.automation.server.AbstractProjectSensitiveService |
project, projectSpecifier |
| Fields inherited from class org.eclipse.hyades.automation.server.AbstractWorkspaceSensitiveService |
workspace, workspaceSpecifier |
|
Constructor Summary |
TestExecutionService()
Default constructor invokes up hierarchy for any initialization required |
| Methods inherited from class org.eclipse.hyades.test.core.services.AbstractTestExecutionService |
afterExecution, afterLaunch, beforeLaunch, cleanup, createDerivedTestSuiteFile, execute, getProcessOfInterest, getProgressMonitor, getWaitForCompletionInterval, handleThrowable, initialize, launch, loadDeployment, loadModelElement, loadTestSuite, returnResult, waitForCompletion |
| Methods inherited from class org.eclipse.hyades.automation.server.AbstractProjectSensitiveService |
getProject, refreshProject |
| Methods inherited from class org.eclipse.hyades.automation.server.AbstractRelaunchableService |
copy, reconstructCommandLine |
| Methods inherited from class org.eclipse.hyades.automation.server.AbstractService |
execute |
| Methods inherited from class org.eclipse.hyades.automation.core.AbstractService |
configure, configure, createMemento, getIdentifier, getProperties, getProperty, getProperty, getPublicProperties, getRoot, isQuiet, print, println, println, setMemento, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
TestExecutionService
public TestExecutionService()
- Default constructor invokes up hierarchy for any initialization required