Skip to content
Snippets Groups Projects
Commit 60fdc13a authored by Robin Appelman's avatar Robin Appelman
Browse files

enable running unit tests from cli

parent 27f7dae9
No related branches found
No related tags found
No related merge requests found
......@@ -78,6 +78,10 @@ class OC{
* requested file of app
*/
public static $REQUESTEDFILE = '';
/**
* check if owncloud runs in cli mode
*/
public static $CLI = false;
/**
* SPL autoload
*/
......@@ -320,6 +324,7 @@ class OC{
if (defined('DEBUG') && DEBUG){
ini_set('display_errors', 1);
}
self::$CLI=(php_sapi_name() == 'cli');
date_default_timezone_set('Europe/Berlin');
ini_set('arg_separator.output','&');
......@@ -369,15 +374,17 @@ class OC{
self::checkInstalled();
self::checkSSL();
// CSRF protection
if(isset($_SERVER['HTTP_REFERER'])) $referer=$_SERVER['HTTP_REFERER']; else $referer='';
if(isset($_SERVER['HTTPS']) and $_SERVER['HTTPS']<>'') $protocol='https://'; else $protocol='http://';
$server=$protocol.$_SERVER['SERVER_NAME'];
if(($_SERVER['REQUEST_METHOD']=='POST') and (substr($referer,0,strlen($server))<>$server)) {
$url = $protocol.$_SERVER['SERVER_NAME'].OC::$WEBROOT.'/index.php';
header("Location: $url");
exit();
}
// CSRF protection
if(isset($_SERVER['HTTP_REFERER'])) $referer=$_SERVER['HTTP_REFERER']; else $referer='';
if(isset($_SERVER['HTTPS']) and $_SERVER['HTTPS']<>'') $protocol='https://'; else $protocol='http://';
if(!self::$CLI){
$server=$protocol.$_SERVER['SERVER_NAME'];
if(($_SERVER['REQUEST_METHOD']=='POST') and (substr($referer,0,strlen($server))<>$server)) {
$url = $protocol.$_SERVER['SERVER_NAME'].OC::$WEBROOT.'/index.php';
header("Location: $url");
exit();
}
}
self::initSession();
self::initTemplateEngine();
......
......@@ -38,7 +38,13 @@ foreach($apps as $app){
}
function loadTests($dir=''){
$test=isset($_GET['test'])?$_GET['test']:false;
if(OC::$CLI){
$reporter='TextReporter';
$test=isset($_SERVER['argv'][1])?$_SERVER['argv'][1]:false;
}else{
$reporter='HtmlReporter';
$test=isset($_GET['test'])?$_GET['test']:false;
}
if($dh=opendir($dir)){
while($name=readdir($dh)){
if(substr($name,0,1)!='.'){//no hidden files, '.' or '..'
......@@ -51,7 +57,7 @@ function loadTests($dir=''){
$testCase=new TestSuite($name);
$testCase->addFile($file);
if($testCase->getSize()>0){
$testCase->run(new HtmlReporter());
$testCase->run(new $reporter());
}
}
}
......
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