diff options
Diffstat (limited to 'testsrunner/org.eclipse.cdt.testsrunner/src/org/eclipse/cdt/testsrunner/model/ITestingSession.java')
-rw-r--r-- | testsrunner/org.eclipse.cdt.testsrunner/src/org/eclipse/cdt/testsrunner/model/ITestingSession.java | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/testsrunner/org.eclipse.cdt.testsrunner/src/org/eclipse/cdt/testsrunner/model/ITestingSession.java b/testsrunner/org.eclipse.cdt.testsrunner/src/org/eclipse/cdt/testsrunner/model/ITestingSession.java new file mode 100644 index 00000000000..fee30898605 --- /dev/null +++ b/testsrunner/org.eclipse.cdt.testsrunner/src/org/eclipse/cdt/testsrunner/model/ITestingSession.java @@ -0,0 +1,135 @@ +/******************************************************************************* + * Copyright (c) 2011 Anton Gorenkov + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anton Gorenkov - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.testsrunner.model; + +import org.eclipse.cdt.testsrunner.launcher.ITestsRunnerProviderInfo; +import org.eclipse.debug.core.ILaunch; + + +/** + * Stores the information about tests running. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface ITestingSession { + + /** + * Returns the count of already finished tests. + * + * @return already finished tests count + */ + public int getCurrentCounter(); + + /** + * Returns the total tests count (if available). + * + * @note Usually testing frameworks do not provide the information about + * total tests count (at least Boost.Test, Google Test and Qt Test do not). + * So the total tests count from previous launch of the same test module is + * used instead. That is why, it is unavailable for the first run and it may + * be not accurate. When testing is finished the total tests count is + * updated to the accurate value. + * + * @return total tests count or -1 if unavailable + */ + public int getTotalCounter(); + + /** + * Returns the count tests with the specified status at the moment. + * + * @note Tests count with the specified status may change if testing session + * is not terminated. + * + * @param status the required status + * @return tests count with status 'status' + */ + public int getCount(ITestItem.Status status); + + /** + * Returns whether the testing session contains errors at the moment. + * Testing session may contain errors if one of its tests failed or if there + * were some errors during tests running (e.g. test module cannot be + * launched or output parsing failed). + * + * @return whether the testing session contains errors + */ + public boolean hasErrors(); + + /** + * Returns whether the testing session was stopped by user. + * + * @note Testing session is not considered as stopped when it was terminated + * by the <code>ILaunch.terminate()</code> method (e.g. when user clicks on + * 'Stop' button of the 'Console' or 'Debug' view). In this case it will be + * considered as finished (probably, with errors cause not all output was + * obtained from launched process). To stop testing session properly the + * <code>stop()</code> method should be used. + * + * @return whether the testing session was stopped + */ + public boolean wasStopped(); + + /** + * Returns whether the testing session has been finished (with or without + * errors). + * + * @return whether the testing session has been finished + */ + public boolean isFinished(); + + /** + * Returns the testing model accessor that is associated with this session. + * + * @return testing model accessor + */ + public ITestModelAccessor getModelAccessor(); + + /** + * Returns the launch that is associated with this testing session. + * + * @return launch + */ + public ILaunch getLaunch(); + + /** + * Returns the information about the tests runner which was used to launch + * this testing session. + * + * @return tests runner information + */ + public ITestsRunnerProviderInfo getTestsRunnerProviderInfo(); + + /** + * Returns the current status message for the current testing session. It + * may contain error, some session information or simple statistics. + * + * @return text status of the testing session + */ + public String getStatusMessage(); + + /** + * Returns the name of the current testing session. Usually it contains + * launch configuration name with some additional information. + * + * @return testing session name + */ + public String getName(); + + /** + * Stops the current session with a special status setting. Does nothing if + * the launched process of testing session has already been terminated or + * cannot been terminated. + */ + public void stop(); + +} + |