]> source.dussan.org Git - nextcloud-server.git/commitdiff
load test cases from enabled apps
authorRobin Appelman <icewind@owncloud.com>
Mon, 8 Oct 2012 12:26:51 +0000 (14:26 +0200)
committerRobin Appelman <icewind@owncloud.com>
Mon, 8 Oct 2012 12:26:51 +0000 (14:26 +0200)
tests/apps.php [new file with mode: 0644]
tests/phpunit.xml

diff --git a/tests/apps.php b/tests/apps.php
new file mode 100644 (file)
index 0000000..3e27b81
--- /dev/null
@@ -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');
+       }
+}
index 93b781bca442279940ac30fb9d21bfc311df27f8..4a2d68a3e479ab2d8327e8e021473a8a99eb083c 100644 (file)
@@ -2,5 +2,6 @@
 <phpunit bootstrap="bootstrap.php">
        <testsuite name='ownCloud'>
                <directory suffix='.php'>lib/</directory>
+               <file>apps.php</file>
        </testsuite>
 </phpunit>