OpenNIT

Quelltext des aktuellen Standes

Fassung 1.1.1

run.php

879 B
<?php

declare(strict_types=1);

/**
 * Test-Runner ohne externe Abhängigkeiten.
 *
 *   php tests/run.php
 *
 * Lädt alle *Test.php-Dateien in diesem Verzeichnis. Jede gibt eine Closure
 * zurück, die ihre test()-Fälle ausführt. Exit-Code 1 bei Fehlern (CI-tauglich).
 */

require __DIR__ . '/bootstrap.php';

$files = glob(__DIR__ . '/*Test.php');
sort($files);

foreach ($files as $file) {
    echo "\n" . basename($file, '.php') . "\n";
    $suite = require $file;
    if (is_callable($suite)) {
        $suite();
    }
}

echo "\n----------------------------------------\n";
echo 'Ergebnis: ' . TestStats::$passed . ' Checks ok, ' . TestStats::$failed . " fehlgeschlagen.\n";

if (TestStats::$failed > 0) {
    echo "\nFehlschläge:\n";
    foreach (TestStats::$failures as $f) {
        echo "  - {$f}\n";
    }
    exit(1);
}
echo "Alle Tests bestanden.\n";
exit(0);