package ca.uwaterloo.ece.qhanam.jrsrepair; /** * TestExecutor specifies the interface to test the program under repair. * * Since different programs have different builds, there are different concrete * classes (e.g., AntTestExecutor, BashTestExecutor, etc.). * * @author qhanam */ public abstract class AbstractTestExecutor { /** * Runs the the test cases and returns the status. * @return NOT_COMPILED = failed to compile, TESTS_FAILED = failed one or more test cases, TESTS_PASSED = passed all test cases * @throws Exception */ public abstract Status runTests() throws Exception; /** * The possible results from runTests() */ public enum Status{ FAILED, PASSED, ERROR } }