Skip to content
Snippets Groups Projects
Commit 311b19e2 authored by Peter Rotich's avatar Peter Rotich
Browse files

Merge pull request #54 from greezybacon/feature/test-suite-lint

Add simple syntax check to test suite

Reviewed By: Peter Rotich (04/10/12)
parents fa14754b 30675ca2
No related branches found
No related tags found
No related merge requests found
......@@ -14,16 +14,53 @@ function get_osticket_root_path() {
$root = get_osticket_root_path();
# Check PHP syntax across all php files
function glob_recursive($pattern, $flags = 0) {
$files = glob($pattern, $flags);
foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT)
as $dir) {
$files = array_merge($files,
glob_recursive($dir.'/'.basename($pattern), $flags));
}
return $files;
}
echo "PHP Syntax Errors: ";
ob_start();
$scripts=glob_recursive("$root/*/*.php");
$exit=0;
$syntax_errors="";
foreach ($scripts as $s) {
system("php -l $s", $exit);
$line = ob_get_contents();
ob_clean();
if ($exit !== 0)
$syntax_errors .= $line;
}
ob_end_clean();
if (strlen($syntax_errors)) {
$syntax_errors=str_replace("$root/", '', $syntax_errors);
echo "FAIL\n";
echo "-------------------------------------------------------\n";
echo "$syntax_errors";
exit();
} else {
echo "\n";
}
# Run phplint across all php files
echo "Access to unitialized variables: ";
ob_start();
# XXX: This won't run well on Windoze
system("$root/setup/test/lib/phplint.tcl $root/**/*.php 2>&1");
system("$root/setup/test/lib/phplint.tcl ".implode(" ", $scripts));
$lint_errors = ob_get_clean();
$lint_errors=str_replace("$root/", '', $lint_errors);
if (strlen($lint_errors)) {
echo "FAIL: Access to unitialized variables\n";
$lint_errors=str_replace("$root/", '', $lint_errors);
echo "FAIL\n";
echo "-------------------------------------------------------\n";
echo "$lint_errors";
} else {
echo "\n";
}
?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment