コード例 #1
0
ファイル: Runner.php プロジェクト: alewitt/openstack
            $services = [$service => $versions];
        }
        return $services;
    }
    private function toCamelCase($word, $separator = '_')
    {
        return str_replace($separator, '', ucwords($word, $separator));
    }
    public function runServices()
    {
        list($serviceOpt, $versionOpt, $testMethodOpt, $debugOpt) = $this->getOpts();
        $services = $this->getRunnableServices($serviceOpt, $versionOpt, $testMethodOpt);
        foreach ($services as $serviceName => $versions) {
            foreach ($versions as $version) {
                $class = sprintf("%s\\%s\\%sTest", __NAMESPACE__, $this->toCamelCase($serviceName), ucfirst($version));
                $testRunner = new $class($this->logger, $debugOpt);
                if ($testMethodOpt && method_exists($testRunner, $testMethodOpt)) {
                    $testRunner->startTimer();
                    $testRunner->{$testMethodOpt}();
                } else {
                    $testRunner->runTests();
                }
                $testRunner->deletePaths();
            }
        }
    }
}
require_once dirname(dirname(__DIR__)) . '/vendor/autoload.php';
$runner = new Runner();
$runner->runServices();