enable running unit tests from cli
This commit is contained in:
parent
27f7dae932
commit
60fdc13ae6
25
lib/base.php
25
lib/base.php
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue