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

fix running test cases in multiply app dirs

parent aa8cee1a
Branches
No related tags found
No related merge requests found
......@@ -20,6 +20,8 @@
*
*/
//to run only specific tests, use the test parameter to specify an app or 'lib'. e.g. http://localhost/owncloud/tests/?test=user_external
require_once '../lib/base.php';
require_once 'simpletest/unit_tester.php';
require_once 'simpletest/mock_objects.php';
......@@ -49,7 +51,7 @@ if(OC::$CLI){
$testSuite=new TestSuite($testSuiteName);
//load core test cases
loadTests(dirname(__FILE__), $testSuite, $test);
loadTests(dirname(__FILE__), $testSuite, $test, 'lib');
//load app test cases
......@@ -59,8 +61,9 @@ loadTests(dirname(__FILE__), $testSuite, $test);
$apps=OC_App::getEnabledApps();
foreach($apps as $app){
if(is_dir(OC::$SERVERROOT.'/apps/'.$app.'/tests')){
loadTests(OC::$SERVERROOT.'/apps/'.$app.'/tests', $testSuite, $test);
$testDir=OC_App::getAppPath($app).'/tests';
if(is_dir($testDir)){
loadTests($testDir, $testSuite, $test, $app);
}
}
......@@ -70,15 +73,16 @@ if($testSuite->getSize()>0){
}
// helper below
function loadTests($dir,$testSuite, $test){
function loadTests($dir,$testSuite, $test, $app){
$root=($app=='lib')?OC::$SERVERROOT.'/tests/lib/':OC_App::getAppPath($app).'/tests/';
if($dh=opendir($dir)){
while($name=readdir($dh)){
if($name[0]!='.'){//no hidden files, '.' or '..'
$file=$dir.'/'.$name;
if(is_dir($file)){
loadTests($file, $testSuite, $test);
loadTests($file, $testSuite, $test, $app);
}elseif(substr($file,-4)=='.php' and $file!=__FILE__){
$name=getTestName($file);
$name=$app.'/'.getTestName($file,$root);
if($test===false or $test==$name or substr($name,0,strlen($test))==$test){
$extractor = new SimpleFileLoader();
$loadedSuite=$extractor->load($file);
......@@ -91,8 +95,8 @@ function loadTests($dir,$testSuite, $test){
}
}
function getTestName($file){
function getTestName($file,$root){
// //TODO: get better test names
$file=substr($file,strlen(OC::$SERVERROOT));
$file=substr($file,strlen($root));
return substr($file,0,-4);//strip .php
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment