summaryrefslogtreecommitdiff
path: root/tests/runtests.sh
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2009-03-02 14:46:12 +0000
committerthomascube <thomas@roundcube.net>2009-03-02 14:46:12 +0000
commit63d4b1217216f3d04894090026ed3f01aba9b385 (patch)
treef951e8fa1431f6dd27e255685b64628e3c49f271 /tests/runtests.sh
parentf54a3a6d41e5700c45120091a57f2c73b804ae25 (diff)
Create some basic unit tests based in simpletest.org
Diffstat (limited to 'tests/runtests.sh')
-rwxr-xr-xtests/runtests.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/runtests.sh b/tests/runtests.sh
new file mode 100755
index 000000000..04a9a3745
--- /dev/null
+++ b/tests/runtests.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env php
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | tests/runtests.sh |
+ | |
+ | This file is part of the RoundCube Webmail client |
+ | Copyright (C) 2009, RoundCube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ | PURPOSE: |
+ | Run-script for unit tests based on http://simpletest.org |
+ | All .php files in this folder will be treated as tests |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <roundcube@gmail.com> |
+ +-----------------------------------------------------------------------+
+
+ $Id: $
+
+*/
+
+if (php_sapi_name() != 'cli')
+ die("Not in shell mode (php-cli)");
+
+if (!defined('SIMPLETEST')) define('SIMPLETEST', '/www/simpletest/');
+if (!defined('INSTALL_PATH')) define('INSTALL_PATH', realpath(dirname(__FILE__) . '/..') . '/' );
+
+define('TESTS_DIR', dirname(__FILE__) . '/');
+
+require_once(SIMPLETEST . 'unit_tester.php');
+require_once(SIMPLETEST . 'reporter.php');
+require_once(INSTALL_PATH . 'program/include/iniset.php');
+
+if (count($_SERVER['argv']) > 1) {
+ $testfiles = array();
+ for ($i=1; $i < count($_SERVER['argv']); $i++)
+ $testfiles[] = realpath('./' . $_SERVER['argv'][$i]);
+}
+else {
+ $testfiles = glob(TESTS_DIR . '*.php');
+}
+
+$test = new TestSuite('RoundCube unit tests');
+$reporter = new TextReporter();
+
+foreach ($testfiles as $fn) {
+ $test->addTestFile($fn);
+}
+
+$test->run($reporter);
+
+?> \ No newline at end of file