zoe Tue Jul 7 12:10:40 2009 UTC Added files: /phpruntests/QA compareNewOld.php
Removed files: /phpruntests/QA test Log: comparison code http://cvs.php.net/viewvc.cgi/phpruntests/QA/compareNewOld.php?view=markup&rev=1.1 Index: phpruntests/QA/compareNewOld.php +++ phpruntests/QA/compareNewOld.php <?php //Compare the output from new run-tests with the old version //Takes two files and a keyword as input //Usage: //php compareNewOld.php new_output old_output keyword // //where new_output is an output file generated using -o csv. // old_output is the standard output fro run-tests.php // key is the name of the top_level directory of the tests (eg QA, unless you move them anywhere else) //Search for Warning, Notice, Fatal $warnCount = 0; $noticeCount = 0; $fatalCount = 0; $top_level = $argv[3]; $rttests = file($argv[2]); $mytests = file($argv[1]); foreach($mytests as $test) { if(preg_match("/Warning/", $test)) { $warnCount++; } if(preg_match("/Notice/", $test)) { $noticeCount++; } if(preg_match("/Fatal/", $test)) { $fatalCount++; } } $myfails = parseNew($mytests, 'FAIL', $top_level); $myborks = parseNew($mytests, 'BORK', $top_level); $myskips = parseNew($mytests, 'SKIP', $top_level); $rtfails = parseOld($rttests, 'FAIL'); $rtborks = parseOld($rttests, 'BORK'); $rtskips = parseOld($rttests, 'SKIP'); echo "\n\nIn the new code (phpruntests)...\n"; echo " Number of Warnings: $warnCount\n Number of Notices: $noticeCount\n Number of Fatal: $fatalCount\n"; compareAndPrint($myfails, $rtfails, 'fail'); compareAndPrint($myborks, $rtborks, 'bork'); compareAndPrint($myskips, $rtskips, 'skip'); function parseNew($output, $searchFor, $top_level) { $result = array(); foreach($output as $line) { if (preg_match("/$top_level\/((ext|sapi|Zend|tests)\/\S+)\s{1},(.*)\s{1}$searchFor\s{1}/", $line, $matches)) { if($searchFor == 'FAIL') { if(!preg_match("/XFAIL/", $matches[2])) { $result[] = $matches[1] . ".phpt"; } } else { $result[] = $matches[1] . ".phpt"; } } } return $result; } function parseOld($output, $searchFor) { $result = array(); foreach($output as $line) { if (preg_match("/$searchFor.*\[(.+\.phpt)\]/", $line, $matches)) { $result[] = $matches[1]; } } return $result; } function compareAndPrint($my, $rt, $type) { $only_my = array_diff($my, $rt); $nmy = count($only_my); echo "\n =====> $nmy tests $type in phpruntests and do not $type in run-tests\n"; foreach($only_my as $line) { echo "$line \n"; } $only_rt = array_diff($rt, $my); $nrt = count ($only_rt); echo "\n =====> $nrt tests $type in run-tests and do not $type in phpruntests\n"; foreach($only_rt as $line) { echo "$line\n"; } } ?> -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php