summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannes Magnusson <bjori@php.net>2011-09-01 11:00:51 +0000
committerHannes Magnusson <bjori@php.net>2011-09-01 11:00:51 +0000
commit2da2b548994a0e50aa3763f96469d91940b198b7 (patch)
tree3eaf9ff226994f5dd8fa899675f88280b1c22985
parent53ee01975ff377ccedca379b4aa034fbbe3cca5b (diff)
downloadphp-git-2da2b548994a0e50aa3763f96469d91940b198b7.tar.gz
Seeing thousands of PASS tests flying by is meaningless.
Add an option to only print certain result groups.
-rwxr-xr-xrun-tests.php26
1 files changed, 23 insertions, 3 deletions
diff --git a/run-tests.php b/run-tests.php
index ae65a43e65..10154fb0ee 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -207,6 +207,12 @@ if (getenv('TEST_PHP_DETAILED')) {
$DETAILED = 0;
}
+if (getenv('SHOW_ONLY_GROUPS')) {
+ $SHOW_ONLY_GROUPS = explode(",", getenv('SHOW_ONLY_GROUPS'));
+} else {
+ $SHOW_ONLY_GROUPS = array();
+}
+
// Check whether user test dirs are requested.
if (getenv('TEST_PHP_USER')) {
$user_tests = explode (',', getenv('TEST_PHP_USER'));
@@ -560,6 +566,9 @@ if (isset($argc) && $argc > 1) {
case 'd':
$ini_overwrites[] = $argv[++$i];
break;
+ case 'g':
+ $SHOW_ONLY_GROUPS = explode(",", $argv[++$i]);;
+ break;
//case 'h'
case '--keep-all':
foreach($cfgfiles as $file) {
@@ -675,6 +684,9 @@ Options:
-d foo=bar Pass -d option to the php binary (Define INI entry foo
with value 'bar').
+ -g Comma seperated list of groups to show during test run
+ (e.x. FAIL,SKIP).
+
-m Test for memory leaks with Valgrind.
-p <php> Specify PHP executable to run.
@@ -2426,16 +2438,24 @@ function show_redirect_ends($tests, $tested, $tested_file)
function show_test($test_idx, $shortname)
{
global $test_cnt;
+ global $line_length;
- echo "TEST $test_idx/$test_cnt [$shortname]\r";
+ $str = "TEST $test_idx/$test_cnt [$shortname]\r";
+ $line_length = strlen($str);
+ echo $str;
flush();
}
function show_result($result, $tested, $tested_file, $extra = '', $temp_filenames = null)
{
- global $html_output, $html_file, $temp_target, $temp_urlbase;
+ global $html_output, $html_file, $temp_target, $temp_urlbase, $line_length, $SHOW_ONLY_GROUPS;
- echo "$result $tested [$tested_file] $extra\n";
+ if (!$SHOW_ONLY_GROUPS || in_array($result, $SHOW_ONLY_GROUPS)) {
+ echo "$result $tested [$tested_file] $extra\n";
+ } else {
+ // Write over the last line to avoid random trailing chars on next echo
+ echo str_repeat(" ", $line_length), "\r";
+ }
if ($html_output) {