blob: 8f9a952d587544b33c0da865988e5d974f40c573 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.testing.framework;
import java.util.*;
/**
* Performance test interface used for sharing behavoir and
* result with EJB and core.
*/
public interface PerformanceComparisonTest extends TestEntity {
/** Number of times to repeat the test run (to compute average/stddv) */
public static int REPEATS = 5;
/** Default total time to run each test run (default is 2s). */
public static int DEFAULT_TEST_TIME = 10000;
/** Default for allowable % difference between tests and baseline test. */
public static double DEFAULT_ALLOWABLE_DECREASE = -5;
/**
* Return the count of the iterations.
* This is maintained by the test to allow concurrent tests to manage the count.
*/
public int getIterations();
/**
* Increment the iteration count.
* This is maintained by the test to allow concurrent tests to manage the count.
*/
public void incrementIterations();
/**
* Reset the iteration count.
* This is maintained by the test to allow concurrent tests to manage the count.
*/
public void resetIterations();
/**
* Allows any test specific setup before starting the test run.
*/
public void startTest();
/**
* Allows any test specific setup before starting the test run.
*/
public void endTest();
/**
* Return the total time (ms) to run each of the test runs.
* This is used to compute the number of test iterations to use,
* the tests are then still timed based on that number of iterations.
*/
public long getTestRunTime();
/**
* Set the total time (ms) to run each of the test runs.
* This is used to compute the number of test iterations to use,
* the tests are then still timed based on that number of iterations.
*/
public void setTestRunTime(long testRunTime);
/**
* Return the allowable percentage difference for test compared to the baseline.
*/
public double getAllowableDecrease();
/**
* Set the allowable percentage difference for test compared to the baseline.
*/
public void setAllowableDecrease(double allowableDecrease);
/**
* Return the performance tests to compare the base-line with.
*/
public List getTests();
/**
* Add a performance tests to compare the base-line with.
*/
public void addTest(TestCase test);
}