From 07eb1c159d0972dc4d1636059bba51d751f7959c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 8 Oct 2012 14:26:51 +0200 Subject: [PATCH] load test cases from enabled apps --- tests/apps.php | 41 +++++++++++++++++++++++++++++++++++++++++ tests/phpunit.xml | 1 + 2 files changed, 42 insertions(+) create mode 100644 tests/apps.php diff --git a/tests/apps.php b/tests/apps.php new file mode 100644 index 0000000000..3e27b81df6 --- /dev/null +++ b/tests/apps.php @@ -0,0 +1,41 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +function loadDirectory($path) { + if ($dh = opendir($path)) { + while ($name = readdir($dh)) { + if ($name[0] !== '.') { + $file = $path . '/' . $name; + if (is_dir($file)) { + loadDirectory($file); + } elseif (substr($name, -4, 4) === '.php') { + require_once $file; + } + } + } + } +} + +function getSubclasses($parentClassName) { + $classes = array(); + foreach (get_declared_classes() as $className) { + if (is_subclass_of($className, $parentClassName)) + $classes[] = $className; + } + + return $classes; +} + +$apps = OC_App::getEnabledApps(); + +foreach ($apps as $app) { + $dir = OC_App::getAppPath($app); + if (is_dir($dir . '/tests')) { + loadDirectory($dir . '/tests'); + } +} diff --git a/tests/phpunit.xml b/tests/phpunit.xml index 93b781bca4..4a2d68a3e4 100644 --- a/tests/phpunit.xml +++ b/tests/phpunit.xml @@ -2,5 +2,6 @@ lib/ + apps.php