mirror of
https://github.com/pestphp/pest.git
synced 2026-03-07 00:07:22 +01:00
fix: test result on parallel
This commit is contained in:
@ -11,7 +11,9 @@ use Pest\Plugins\Actions\CallsBoot;
|
||||
use Pest\Plugins\Actions\CallsHandleArguments;
|
||||
use Pest\Plugins\Actions\CallsShutdown;
|
||||
use Pest\Support\Container;
|
||||
use PHPUnit\TestRunner\TestResult\Facade;
|
||||
use PHPUnit\TextUI\Application;
|
||||
use PHPUnit\TextUI\Configuration\Registry;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
@ -90,8 +92,11 @@ final class Kernel
|
||||
]);
|
||||
}
|
||||
|
||||
$configuration = Registry::get();
|
||||
$result = Facade::result();
|
||||
|
||||
return CallsAddsOutput::execute(
|
||||
Result::exitCode(),
|
||||
Result::exitCode($configuration, $result),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -20,13 +20,13 @@ use ParaTest\Options;
|
||||
use ParaTest\RunnerInterface;
|
||||
use ParaTest\WrapperRunner\SuiteLoader;
|
||||
use ParaTest\WrapperRunner\WrapperWorker;
|
||||
use Pest\Result;
|
||||
use Pest\TestSuite;
|
||||
use PHPUnit\Event\Facade as EventFacade;
|
||||
use PHPUnit\Runner\CodeCoverage;
|
||||
use PHPUnit\TestRunner\TestResult\Facade as TestResultFacade;
|
||||
use PHPUnit\TestRunner\TestResult\TestResult;
|
||||
use PHPUnit\TextUI\Configuration\CodeCoverageFilterRegistry;
|
||||
use PHPUnit\TextUI\ShellExitCodeCalculator;
|
||||
use PHPUnit\Util\ExcludeList;
|
||||
use function realpath;
|
||||
use SebastianBergmann\Timer\Timer;
|
||||
@ -330,14 +330,7 @@ final class WrapperRunner implements RunnerInterface
|
||||
$this->generateCodeCoverageReports();
|
||||
$this->generateLogs();
|
||||
|
||||
$exitCode = (new ShellExitCodeCalculator())->calculate(
|
||||
$this->options->configuration->failOnEmptyTestSuite(),
|
||||
$this->options->configuration->failOnRisky(),
|
||||
$this->options->configuration->failOnWarning(),
|
||||
$this->options->configuration->failOnIncomplete(),
|
||||
$this->options->configuration->failOnSkipped(),
|
||||
$testResultSum,
|
||||
);
|
||||
$exitCode = Result::exitCode($this->options->configuration, $testResultSum);
|
||||
|
||||
$this->clearFiles($this->testresultFiles);
|
||||
$this->clearFiles($this->coverageFiles);
|
||||
|
||||
@ -4,8 +4,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace Pest;
|
||||
|
||||
use PHPUnit\TestRunner\TestResult\Facade;
|
||||
use PHPUnit\TextUI\Configuration\Registry;
|
||||
use PHPUnit\TestRunner\TestResult\TestResult;
|
||||
use PHPUnit\TextUI\Configuration\Configuration;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -21,26 +21,24 @@ final class Result
|
||||
/**
|
||||
* If the exit code is different from 0.
|
||||
*/
|
||||
public static function failed(): bool
|
||||
public static function failed(Configuration $configuration, TestResult $result): bool
|
||||
{
|
||||
return ! self::ok();
|
||||
return ! self::ok($configuration, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* If the exit code is exactly 0.
|
||||
*/
|
||||
public static function ok(): bool
|
||||
public static function ok(Configuration $configuration, TestResult $result): bool
|
||||
{
|
||||
return self::exitCode() === self::SUCCESS_EXIT;
|
||||
return self::exitCode($configuration, $result) === self::SUCCESS_EXIT;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the test execution's exit code.
|
||||
*/
|
||||
public static function exitCode(): int
|
||||
public static function exitCode(Configuration $configuration, TestResult $result): int
|
||||
{
|
||||
$result = Facade::result();
|
||||
|
||||
$returnCode = self::FAILURE_EXIT;
|
||||
|
||||
if ($result->wasSuccessfulIgnoringPhpunitWarnings()
|
||||
@ -48,8 +46,6 @@ final class Result
|
||||
$returnCode = self::SUCCESS_EXIT;
|
||||
}
|
||||
|
||||
$configuration = Registry::get();
|
||||
|
||||
if ($configuration->failOnEmptyTestSuite() && $result->numberOfTests() === 0) {
|
||||
$returnCode = self::FAILURE_EXIT;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user