createSuiteFromClasses( basename(initial_file()), $loader->selectRunnableTests($candidates)); return $suite->run(new DefaultReporter()); } catch (Exception $stack_frame_fix) { print $stack_frame_fix->getMessage(); return false; } } /** * Checks the current test context to see if a test has * ever been run. * @return boolean True if tests have run. */ function tests_have_run() { if ($context = SimpleTest::getContext()) { return (boolean)$context->getTest(); } return false; } /** * The first autorun file. * @return string Filename of first autorun script. */ function initial_file() { static $file = false; if (! $file) { if (isset($_SERVER, $_SERVER['SCRIPT_FILENAME'])) { $file = $_SERVER['SCRIPT_FILENAME']; } else { $included_files = get_included_files(); $file = reset($included_files); } } return $file; } /** * Every class since the first autorun include. This * is safe enough if require_once() is always used. * @return array Class names. */ function capture_new_classes() { global $SIMPLETEST_AUTORUNNER_INITIAL_CLASSES; return array_map('strtolower', array_diff(get_declared_classes(), $SIMPLETEST_AUTORUNNER_INITIAL_CLASSES ? $SIMPLETEST_AUTORUNNER_INITIAL_CLASSES : array())); } ?>