From 022d5cffb7eccf410f834fca7c44c8d3c9337dd7 Mon Sep 17 00:00:00 2001 From: Nuno Maduro Date: Tue, 27 Sep 2022 08:51:06 +0100 Subject: [PATCH 1/2] Uses `NullableShutdownStrategy` on tests --- src/BugsnagServiceProvider.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/BugsnagServiceProvider.php b/src/BugsnagServiceProvider.php index fe7373f5..c0cd3b2d 100644 --- a/src/BugsnagServiceProvider.php +++ b/src/BugsnagServiceProvider.php @@ -13,6 +13,7 @@ use Bugsnag\PsrLogger\BugsnagLogger; use Bugsnag\PsrLogger\MultiLogger as BaseMultiLogger; use Bugsnag\Report; +use Bugsnag\Shutdown\NullableShutdownStrategy; use DateTime; use Illuminate\Auth\GenericUser; use Illuminate\Contracts\Container\Container; @@ -191,7 +192,14 @@ public function register() { $this->app->singleton('bugsnag', function (Container $app) { $config = $app->config->get('bugsnag'); - $client = new Client(new Configuration($config['api_key']), new LaravelResolver($app), $this->getGuzzle($config)); + + $shutdownStrategy = null; + + if ($app instanceof LaravelApplication && $app->runningUnitTests()) { + $shutdownStrategy = new NullableShutdownStrategy(); + } + + $client = new Client(new Configuration($config['api_key']), new LaravelResolver($app), $this->getGuzzle($config), $shutdownStrategy); $this->setupCallbacks($client, $app, $config); $this->setupPaths($client, $app, $config); From c91f073ed8a96ae28ac071e672d3cbd0e02b1a53 Mon Sep 17 00:00:00 2001 From: Nuno Maduro Date: Tue, 27 Sep 2022 08:59:39 +0100 Subject: [PATCH 2/2] Adds `class_exists` to avoid bumping versions --- src/BugsnagServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BugsnagServiceProvider.php b/src/BugsnagServiceProvider.php index c0cd3b2d..9fd60809 100644 --- a/src/BugsnagServiceProvider.php +++ b/src/BugsnagServiceProvider.php @@ -195,7 +195,7 @@ public function register() $shutdownStrategy = null; - if ($app instanceof LaravelApplication && $app->runningUnitTests()) { + if (class_exists(NullableShutdownStrategy::class) && $app instanceof LaravelApplication && $app->runningUnitTests()) { $shutdownStrategy = new NullableShutdownStrategy(); }