package org.eclipse.dltk.testing;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.dltk.core.IModelElement;
import org.eclipse.dltk.core.IScriptProject;
import org.eclipse.dltk.core.ISourceModule;
import org.eclipse.dltk.core.environment.IEnvironment;
import org.eclipse.dltk.launching.InterpreterConfig;
public interface ITestingEngine extends IAdaptable {
String getId();
String getName();
IStatus validateSourceModule(ISourceModule module);
IStatus validateContainer(IModelElement element);
void configureLaunch(InterpreterConfig config,
ILaunchConfiguration configuration, ILaunch launch)
throws CoreException;
/**
* Get the path of the main script to be used in the launch configuration.
* Return the special launcher path for this testing engine or
* <code>null</code> to use the script specified in the launch
* configuration.
*
* @param configuration
* @param scriptEnvironment
* @return
* @throws CoreException
*/
String getMainScriptPath(ILaunchConfiguration configuration,
IEnvironment scriptEnvironment) throws CoreException;
ITestRunnerUI getTestRunnerUI(IScriptProject project,
ILaunchConfiguration configuration);
}