fix_test_suite.pl -- remove failing tests from test suite until all tests pass.
fix_test_suite.pl -p project_id -d suite_dir [-f include_file_pattern] [-v version_id] [-s test_suite_src] [-t tmp_dir] [-A] [-D] [-L]
project_id
The id of the project for which the generated test suites are analyzed. See Project module for available project IDs.
The directory that contains the test suite archives. See Test Suites.
include_file_pattern
The pattern of the file names of the test classes that should be included (optional). Per default all files (*.java) are included.
version_id
Only analyze test suites for this version id (optional). Per default all test suites for the given project id are analyzed.
test_suite_src
Only analyze test suites originating from this source (optional). A test suite source is a specific tool or configuration (e.g., evosuite-branch). Per default all test suite sources for the given project id are considered.
The temporary root directory to be used to check out program versions (optional). The default is /tmp.
Assertions: Try to remove failing assertions first, before removing the entire test method (optional). By default failing test methods are entirely removed.
Debug: Enable verbose logging and do not delete the temporary check-out directory (optional).
Logging: Enable logging of runtime information (optional). By default no database is used to keep the runtime information generated by this script.
Runs the following worflow for each provided test suite (i.e., each test suite archive in suite_dir):
If a test suite was fixed, its original archive is backed up and replaced with the fixed version. The results of the fix are stored in the database table suite_dir/TAB_FIX.
To be considered for the analysis, a test suite has to be provided as an archive in suite_dir. Format of the archive file name:
project_id-version_id-test_suite_src(\.test_id)?\.tar\.bz2
Note that test_id
is optional, the default is 1.
Examples:
This script logs all test-compilation steps information to fix_test_suite.compile.log, all test-execution steps to fix_test_suite.run.log, and it also logs summary information (e.g., how many tests were removed) to fix_test_suite.summary.log in the test suite directory SUITE_DIR.