protected function loadConfig($configFilename) { require $configFilename; if (isset($config['timezone'])) { date_default_timezone_set($config['timezone']); } if (isset($config['theme'])) { $theme = str_replace('@[^A-Za-z0-9-_]+@', '', $config['theme']); $themeFile = dirname(__FILE__) . '/../theme/' . $theme . '.php'; if (file_exists($themeFile)) { $this->themeFilename = $themeFile; } else { $this->themeFilename = dirname(__FILE__) . '/../theme/' . self::DEFAULTTHEME . '.php'; } } else { $this->themeFilename = dirname(__FILE__) . '/../theme/' . self::DEFAULTTHEME . '.php'; } foreach ($config['groups'] as $groupConfig) { $TestGroup = new TestGroup($groupConfig['name'], $groupConfig['host']); // add tests to group foreach ($groupConfig['tests'] as $testConfig) { $TestGroup->addTest($TestGroup->createTest($testConfig)); } $this->TestGroups[] = $TestGroup; } return true; }