mirror of
https://github.com/pestphp/pest.git
synced 2026-03-07 00:07:22 +01:00
feat: improves fatal exception handling
This commit is contained in:
@ -10,20 +10,20 @@ use Pest\Plugin\Loader;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class CallsShutdown
|
||||
final class CallsTerminable
|
||||
{
|
||||
/**
|
||||
* Executes the Plugin action.
|
||||
*
|
||||
* Provides an opportunity for any plugins to shutdown.
|
||||
* Provides an opportunity for any plugins to terminate.
|
||||
*/
|
||||
public static function execute(): void
|
||||
{
|
||||
$plugins = Loader::getPlugins(Plugins\Shutdownable::class);
|
||||
$plugins = Loader::getPlugins(Plugins\Terminable::class);
|
||||
|
||||
/** @var Plugins\Shutdownable $plugin */
|
||||
/** @var Plugins\Terminable $plugin */
|
||||
foreach ($plugins as $plugin) {
|
||||
$plugin->shutdown();
|
||||
$plugin->terminate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -36,11 +36,11 @@ final class Cache implements HandlesArguments
|
||||
{
|
||||
if (! $this->hasArgument('--cache-directory', $arguments)) {
|
||||
|
||||
$cliConfiguration = (new CliConfigurationBuilder)->fromParameters([]);
|
||||
$cliConfiguration = (new CliConfigurationBuilder)->fromParameters([]);
|
||||
$configurationFile = (new XmlConfigurationFileFinder)->find($cliConfiguration);
|
||||
$xmlConfiguration = DefaultConfiguration::create();
|
||||
$xmlConfiguration = DefaultConfiguration::create();
|
||||
|
||||
if ($configurationFile) {
|
||||
if (is_string($configurationFile)) {
|
||||
$xmlConfiguration = (new Loader)->load($configurationFile);
|
||||
}
|
||||
|
||||
|
||||
@ -4,13 +4,13 @@ declare(strict_types=1);
|
||||
|
||||
namespace Pest\Plugins;
|
||||
|
||||
use Pest\Contracts\Plugins\Shutdownable;
|
||||
use Pest\Contracts\Plugins\Terminable;
|
||||
use Pest\PendingCalls\TestCall;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class Only implements Shutdownable
|
||||
final class Only implements Terminable
|
||||
{
|
||||
/**
|
||||
* The temporary folder.
|
||||
@ -26,7 +26,7 @@ final class Only implements Shutdownable
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function shutdown(): void
|
||||
public function terminate(): void
|
||||
{
|
||||
$lockFile = self::TEMPORARY_FOLDER.DIRECTORY_SEPARATOR.'only.lock';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user