Browse Source

Add support for run-tests.php to output all test results

./run-tests.php -W outfile.txt

PASS foo/bar.phpt
FAIL baz/qux.phpt
pull/52/merge
Sara Golemon 9 years ago
committed by Joe Watkins
parent
commit
431e22fb4d
No known key found for this signature in database GPG Key ID: F9BA0ADA31CBD89E
  1. 19
      run-tests.php

19
run-tests.php

@ -459,6 +459,7 @@ $test_results = array();
$PHP_FAILED_TESTS = array('BORKED' => array(), 'FAILED' => array(), 'WARNED' => array(), 'LEAKED' => array(), 'XFAILED' => array(), 'SLOW' => array());
// If parameters given assume they represent selected tests to run.
$result_tests_file= false;
$failed_tests_file= false;
$pass_option_n = false;
$pass_options = '';
@ -559,6 +560,9 @@ if (isset($argc) && $argc > 1) {
case 'a':
$failed_tests_file = fopen($argv[++$i], 'a+t');
break;
case 'W':
$result_tests_file = fopen($argv[++$i], 'w+t');
break;
case 'c':
$conf_passed = $argv[++$i];
break;
@ -694,6 +698,8 @@ Options:
-a <file> Same as -w but append rather then truncating <file>.
-W <file> Write a list of all tests and their result status to <file>.
-c <file> Look for php.ini in directory <file> or use <file> as ini.
-n Pass -n option to the php binary (Do not use a php.ini).
@ -826,6 +832,10 @@ HELP;
fclose($failed_tests_file);
}
if ($result_tests_file) {
fclose($result_tests_file);
}
compute_summary();
if ($html_output) {
fwrite($html_file, "<hr/>\n" . get_summary(false, true));
@ -959,6 +969,10 @@ if ($failed_tests_file) {
fclose($failed_tests_file);
}
if ($result_tests_file) {
fclose($result_tests_file);
}
// Summarize results
if (0 == count($test_results)) {
@ -1160,7 +1174,7 @@ function system_with_timeout($commandline, $env = null, $stdin = null, $captureS
function run_all_tests($test_files, $env, $redir_tested = null)
{
global $test_results, $failed_tests_file, $php, $test_idx;
global $test_results, $failed_tests_file, $result_tests_file, $php, $test_idx;
foreach($test_files as $name) {
@ -1183,6 +1197,9 @@ function run_all_tests($test_files, $env, $redir_tested = null)
if ($failed_tests_file && ($result == 'XFAILED' || $result == 'FAILED' || $result == 'WARNED' || $result == 'LEAKED')) {
fwrite($failed_tests_file, "$index\n");
}
if ($result_tests_file) {
fwrite($result_tests_file, "$result\t$index\n");
}
}
}
}

Loading…
Cancel
Save