TPTP 4.4.0 Testing Tools Project
Public API Specification

org.eclipse.hyades.test.tools.core.services
Class TestExecutionService

java.lang.Object
  extended byorg.eclipse.hyades.automation.core.AbstractService
      extended byorg.eclipse.hyades.automation.server.AbstractService
          extended byorg.eclipse.hyades.automation.server.AbstractRelaunchableService
              extended byorg.eclipse.hyades.automation.server.AbstractWorkspaceSensitiveService
                  extended byorg.eclipse.hyades.automation.server.AbstractProjectSensitiveService
                      extended byorg.eclipse.hyades.test.core.services.AbstractTestExecutionService
                          extended byorg.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: AbstractTestExecutionService defines: 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).

Typical use cases:

  1. 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.
  2. 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 Class Summary
 
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
 
Field Summary
 
Fields inherited from class org.eclipse.hyades.test.core.services.AbstractTestExecutionService
classpathSpecifier, configurationSelector, connectionSpecifier, deploymentSelector, overwriteSpecifier, resultProjectDir, results, resultsSpecifier, suiteSelector
 
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
 

Constructor Detail

TestExecutionService

public TestExecutionService()
Default constructor invokes up hierarchy for any initialization required


TPTP 4.4.0 Testing Tools Project
Public API Specification