summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Tests/TestDriver.php36
1 files changed, 12 insertions, 24 deletions
diff --git a/Tests/TestDriver.php b/Tests/TestDriver.php
index 9b9a402..b0e8323 100644
--- a/Tests/TestDriver.php
+++ b/Tests/TestDriver.php
@@ -152,29 +152,20 @@ $_tests = array(
)
);
-function selectTests($names)
+function selectTests($package, $names)
{
global $_tests;
$lnames = array_map('strtolower', $names);
$include = array();
$exclude = array();
- foreach ($_tests as $package) {
- foreach ($package['files'] as $t) {
- $l = strtolower($t);
- if (in_array($l, $lnames)) {
- $include[] = $t;
- }
-
- if (in_array("/$l", $lnames)) {
- $exclude[] = $t;
- }
+ foreach ($package['files'] as $t) {
+ $l = strtolower($t);
+ if (in_array($l, $lnames)) {
+ $include[] = $t;
}
- }
- if (!count($include)) {
- $include = array();
- foreach ($_tests as $package) {
- $include = array_merge($include, $package['files']);
+ if (in_array("/$l", $lnames)) {
+ $exclude[] = $t;
}
}
@@ -185,16 +176,13 @@ function selectTests($names)
function loadSuite($names=null)
{
global $_tests;
- if ($names === null) {
- $names = array();
- foreach ($_tests as $package) {
- $names = array_merge($names, $package['files']);
- }
- }
- $selected = selectTests($names);
-
$result = array();
foreach ($_tests as $package) {
+ if (!$names) {
+ $selected = $package['files'];
+ } else {
+ $selected = selectTests($package, $names);
+ }
$result = array_merge($result, loadTests($package['dir'], $selected));
}