]> source.dussan.org Git - nextcloud-server.git/commitdiff
enable running unit tests from cli
authorRobin Appelman <icewind@owncloud.com>
Tue, 22 May 2012 18:22:53 +0000 (20:22 +0200)
committerRobin Appelman <icewind@owncloud.com>
Tue, 22 May 2012 18:22:53 +0000 (20:22 +0200)
lib/base.php
tests/index.php

index fb2d978f449f58c08e4a1ef31bb4bd6fae24b65b..f3d6689fa2e8d81bbb10023f8d3123d9a06864f2 100644 (file)
@@ -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','&amp;');
@@ -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();
index 6dec1b050fb35518dc2577bb685f9819ef54c6c1..9c5178f81a829052a0d5a19c552d9c9fd4f09c13 100644 (file)
@@ -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());
                                                }
                                        }
                                }