function init() { parent::init(); if (!Permission::check('ADMIN')) { return Security::permissionFailure(); } TestRunner::use_test_manifest(); }
/** * @return Array */ public static function get_all_tests() { require_once 'sapphire/tests/bootstrap.php'; TestRunner::use_test_manifest(); $tests = ClassInfo::subclassesFor('SapphireTest'); array_shift($tests); return $tests; }
/** * Loads kernel file. * * @param ContainerBuilder $container */ public function process(ContainerBuilder $container) { // Connect to database and build manifest $frameworkPath = $container->getParameter('behat.silverstripe_extension.framework_path'); $_GET['flush'] = 1; require_once $frameworkPath . '/core/Core.php'; \TestRunner::use_test_manifest(); unset($_GET['flush']); // Remove the error handler so that PHPUnit can add its own restore_error_handler(); }
} foreach ($args as $arg) { if (strpos($arg, '=') == false) { $_GET['args'][] = $arg; } else { $newItems = array(); parse_str(substr($arg, 0, 2) == '--' ? substr($arg, 2) : $arg, $newItems); $_GET = array_merge($_GET, $newItems); } } $_REQUEST = array_merge($_REQUEST, $_GET); } // Connect to database require_once $frameworkPath . '/core/Core.php'; require_once $frameworkPath . '/tests/FakeController.php'; global $databaseConfig; DB::connect($databaseConfig); // Now set a fake REQUEST_URI $_SERVER['REQUEST_URI'] = BASE_URL . '/dev'; // Fake a session $_SESSION = null; // Prepare manifest autoloader $controller = new FakeController(); // Get test manifest TestRunner::use_test_manifest(); SapphireTest::set_is_running_test(true); // Remove the error handler so that PHPUnit can add its own restore_error_handler(); if (!isset($_GET['flush']) || !$_GET['flush']) { Debug::message("WARNING: Manifest not flushed. " . "Add flush=1 as an argument to discover new classes or files.\n", false); }