Complain about borked tests instead of spitting out errors

This commit is contained in:
Marcus Boerger 2003-08-09 17:21:19 +00:00
parent ac41c5db23
commit 06b089d63b

View File

@ -247,7 +247,7 @@ Synopsis:
Options:
-l <file> Read the testfiles to be executed from <file>. After the test
has finished all failed tests are written to the same <file>.
If the list is empty and now further test is specified then
If the list is empty and no further test is specified then
all tests are executed.
-r <file> Read the testfiles to be executed from <file>.
@ -641,7 +641,7 @@ TEST $file
// Load the sections of the test file.
$section_text = array(
'TEST' => '(unnamed test)',
'TEST' => '',
'SKIPIF' => '',
'GET' => '',
'ARGS' => '',
@ -649,7 +649,17 @@ TEST $file
$fp = @fopen($file, "r") or error("Cannot open test file: $file");
$section = '';
if (!feof($fp)) {
$line = fgets($fp);
} else {
echo "BORK empty test [$file]\n";
return 'BORKED';
}
if (!ereg('^--TEST--',$line,$r)) {
echo "BORK tests must start with --TEST-- [$file]\n";
return 'BORKED';
}
$section = 'TEST';
while (!feof($fp)) {
$line = fgets($fp);
@ -663,6 +673,14 @@ TEST $file
// Add to the section text.
$section_text[$section] .= $line;
}
if (!@count($section_text['FILE'])) {
echo "BORK missing section --FILE-- [$file]\n";
return 'BORKED';
}
if (!(@count($section_text['EXPECT']) + @count($section_text['EXPECTF']) + @count($section_text['EXPECTREGEX']))) {
echo "BORK missing section --EXPECT--, --EXPECTF-- or --EXPECTREGEX-- [$file]\n";
return 'BORKED';
}
fclose($fp);
/* For GET/POST tests, check if cgi sapi is avaliable and if it is, use it. */
@ -868,7 +886,7 @@ COMMAND $cmd
if ($warn) {
echo "WARN $tested$info\n";
} else {
echo "FAIL $tested\n";
echo "FAIL $tested$info\n";
}
$PHP_FAILED_TESTS[] = array(
@ -933,7 +951,7 @@ function generate_diff($wanted,$wanted_re,$output)
$r = explode("\n", $wanted_re);
for($idx = 0; $idx < min(count($o),count($r)); $idx++) {
if (preg_match('/^'.$r[$idx].'$/s', $o[$idx])) {
$w[$idx] = $o[$idx];
$w[$idx] = $o[$idx];
}
}
}
@ -945,6 +963,8 @@ function generate_diff($wanted,$wanted_re,$output)
foreach($o1 as $idx => $val) $o2[sprintf("%03d>",$idx)] = sprintf("%03d+ ", $idx+1).$val;
$diff = array_merge($w2, $o2);
ksort($diff);
$r = is_null($wanted_re) ? $w : explode("\n", $wanted_re);
$diff = generate_array_diff($r,$o,!is_null($wanted_re),$w);
return implode("\r\n", $diff);
}
@ -987,7 +1007,7 @@ function compute_summary()
$n_total = count($test_results);
$n_total += $ignored_by_ext;
$sum_results = array('PASSED'=>0, 'WARNED'=>0, 'SKIPPED'=>0, 'FAILED'=>0);
$sum_results = array('PASSED'=>0, 'WARNED'=>0, 'SKIPPED'=>0, 'FAILED'=>0, 'BORKED'=>0);
foreach ($test_results as $v) {
$sum_results[$v]++;
}
@ -1014,7 +1034,12 @@ Exts tested : " . sprintf("%4d",$exts_tested) . "
";
}
$summary .= "
Number of tests : " . sprintf("%4d",$n_total) . "
Number of tests : " . sprintf("%4d",$n_total);
if ($sum_results['BORKED']) {
$summary .= "
Tests borked : " . sprintf("%4d (%2.1f%%)",$sum_results['BORKED'],$percent_results['BORKED']);
}
$summary .= "
Tests skipped : " . sprintf("%4d (%2.1f%%)",$sum_results['SKIPPED'],$percent_results['SKIPPED']) . "
Tests warned : " . sprintf("%4d (%2.1f%%)",$sum_results['WARNED'],$percent_results['WARNED']) . "
Tests failed : " . sprintf("%4d (%2.1f%%)",$sum_results['FAILED'],$percent_results['FAILED']) . "