diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-10-08 14:26:51 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-10-08 14:26:51 +0200 |
commit | 07eb1c159d0972dc4d1636059bba51d751f7959c (patch) | |
tree | bd39e633861eaa63e261b7cd6ae87fdef9f2d631 /tests/apps.php | |
parent | 2de94f9c8574d8662bf0993999ca2f7bbff1f115 (diff) | |
download | nextcloud-server-07eb1c159d0972dc4d1636059bba51d751f7959c.tar.gz nextcloud-server-07eb1c159d0972dc4d1636059bba51d751f7959c.zip |
load test cases from enabled apps
Diffstat (limited to 'tests/apps.php')
-rw-r--r-- | tests/apps.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/apps.php b/tests/apps.php new file mode 100644 index 00000000000..3e27b81df61 --- /dev/null +++ b/tests/apps.php @@ -0,0 +1,41 @@ +<?php +/** + * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> + * 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'); + } +} |