summaryrefslogtreecommitdiffstats
path: root/tests/apps.php
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-10-08 14:26:51 +0200
committerRobin Appelman <icewind@owncloud.com>2012-10-08 14:26:51 +0200
commit07eb1c159d0972dc4d1636059bba51d751f7959c (patch)
treebd39e633861eaa63e261b7cd6ae87fdef9f2d631 /tests/apps.php
parent2de94f9c8574d8662bf0993999ca2f7bbff1f115 (diff)
downloadnextcloud-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.php41
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');
+ }
+}