diff options
| author | Cash Costello <cash.costello@gmail.com> | 2011-12-11 06:38:23 -0500 | 
|---|---|---|
| committer | Cash Costello <cash.costello@gmail.com> | 2011-12-11 06:38:23 -0500 | 
| commit | d9bf22a0e29c2a70049443a0ae8521a2c0492c8b (patch) | |
| tree | c7599a9169d5def7df56c480ad6d67f312443d6f /models/openid-php-openid-782224d/admin/texttest.php | |
| download | elgg-d9bf22a0e29c2a70049443a0ae8521a2c0492c8b.tar.gz elgg-d9bf22a0e29c2a70049443a0ae8521a2c0492c8b.tar.bz2 | |
initial commit for git repository
Diffstat (limited to 'models/openid-php-openid-782224d/admin/texttest.php')
| -rw-r--r-- | models/openid-php-openid-782224d/admin/texttest.php | 197 | 
1 files changed, 197 insertions, 0 deletions
| diff --git a/models/openid-php-openid-782224d/admin/texttest.php b/models/openid-php-openid-782224d/admin/texttest.php new file mode 100644 index 000000000..422dd1de0 --- /dev/null +++ b/models/openid-php-openid-782224d/admin/texttest.php @@ -0,0 +1,197 @@ +<?php + +require_once 'Tests/TestDriver.php'; +require_once 'PHPUnit/Framework.php'; +require_once 'Console/Getopt.php'; + +class TextTestResult extends PHPUnit_Framework_TestResult { +  function addError(&$test, &$t, $time=0) +    { +      parent::addError($test, $t, $time); +        echo "E"; +    } + +    function addFailure(&$test, &$t, $time=0) +    { +        parent::addFailure($test, $t, $time); +        echo "F"; +    } + +    function addPassedTest(&$test) +    { +        parent::addPassedTest($test); +        echo "."; +    } + +    function dumpBadResults() +    { +        foreach ($this->failures() as $failure) { +            echo $failure->toString(); +        } + +        foreach ($this->errors() as $failure) { +            echo $failure->toString(); +        } +    } +} + +function microtime_float() +{ +   list($usec, $sec) = explode(" ", microtime()); +   return ((float)$usec + (float)$sec); +} + +$longopts = array('no-math', +                  'buggy-gmp', +                  'no-curl', +                  'math-lib=', +                  'insecure-rand', +                  'thorough', +                  'extra-tests='); + +$con  = new Console_Getopt; +$args = $con->readPHPArgv(); +array_shift($args); +$options = $con->getopt2($args, "", $longopts); + +if (PEAR::isError($options)) { +    print $options->message . "\n"; +    exit(1); +} + +list($flags, $tests_to_run) = $options; + +$math_type = array(); +$extra_test_modules = array(); +$thorough = false; +foreach ($flags as $flag) { +    list($option, $value) = $flag; +    switch ($option) { +    case '--insecure-rand': +        define('Auth_OpenID_RAND_SOURCE', null); +        break; +    case '--no-math': +        define('Auth_OpenID_NO_MATH_SUPPORT', true); +        break; +    case '--buggy-gmp': +        define('Auth_OpenID_BUGGY_GMP', true); +        break; +    case '--no-curl': +        define('Auth_Yadis_CURL_OVERRIDE', true); +        break; +    case '--thorough': +        define('Tests_Auth_OpenID_thorough', true); +        break; +    case '--extra-tests': +        $extra_test_modules[] = $value; +        break; +    default: +        print "Unrecognized option: $option\n"; +        exit(1); +    } +} + +// ******** Math library selection *********** +// XXX FIXME +//     case '--math-lib': +//         $math_type[] = $value; +//         break; +if ($math_type && false) { +    if (defined('Auth_OpenID_NO_MATH_SUPPORT')) { +        print "--no-math and --math-lib are mutually exclusive\n"; +        exit(1); +    } +    require_once('Auth/OpenID/BigMath.php'); +    $new_extensions = array(); +    foreach ($math_type as $lib) { +        $found = false; +        foreach (Auth_OpenID_math_extensions() as $ext) { +            if ($ext['extension'] == $lib) { +                $new_extensions[] = $ext; +                $found = true; +                break; +            } +        } + +        if (!$found) { +            print "Unknown math library specified: $lib\n"; +            exit(1); +        } +    } +    $_Auth_OpenID_math_extensions = $new_extensions; +} + +// ******** End math library selection ********** + +$suites = loadSuite($tests_to_run); + +// ******** Load additional test suites ******** +foreach ($extra_test_modules as $filename) { +    if (!global_require_once($filename)) { +        continue; +    } +    $module_name = basename($filename, '.php'); +    $class_name = "Tests_Auth_OpenID_${module_name}_Test"; +    $suites[] = makeSuite($class_name); +} + + +$totals = array( +    'run' => 0, +    'error' => 0, +    'failure' => 0, +    'time' => 0 +    ); + +foreach ($suites as $suite) { +    $name = $suite->getName(); +    echo "========================================== +Test suite: $name +------------------------------------------ +"; + +    $result = new TextTestResult(); +    $before = microtime_float(); +    $suite->run($result); +    $after = microtime_float(); + +    $run = $result->count(); +    $error = $result->errorCount(); +    $failure = $result->failureCount(); +    $delta = $after - $before; +    $totals['run'] += $run; +    $totals['error'] += $error; +    $totals['failure'] += $failure; +    $totals['time'] += $delta; +    $human_delta = round($delta, 3); +    echo "\nRan $run tests in $human_delta seconds"; +    if ($error || $failure) { +        echo " with $error errors, $failure failures"; +    } +    echo " +========================================== + +"; + +    $failures = $result->failures(); +    foreach($failures as $failure) { +        $test = $failure->failedTest(); +        $testName = $test->getName(); +        $exception = $failure->thrownException(); +        echo "* Failure in $testName: $exception + +"; +    } +} + +$before = microtime_float(); +$run = $totals['run']; +$error = $totals['error']; +$failure = $totals['failure']; +$time = round($totals['time'], 3); +echo "Ran a total of $run tests in $time seconds with $error errors, $failure failures\n"; +if ($totals['error'] || $totals['failure']) { +    exit(1); +} + +?> | 
