diff --git a/composer.json b/composer.json index 745f2079aa..faca78eca9 100644 --- a/composer.json +++ b/composer.json @@ -28,13 +28,14 @@ "phpunit/php-timer": "^5.0.3", "sebastian/comparator": "^4.0.5", "sebastian/diff": "^4.0.3", - "symfony/console": ">=4.4.24 <7.0", - "symfony/css-selector": ">=4.4.24 <7.0", - "symfony/event-dispatcher": ">=4.4.24 <7.0", - "symfony/finder": ">=4.4.24 <7.0", - "symfony/yaml": ">=4.4.24 <7.0", - "symfony/var-dumper": ">=4.4.24 < 7.0", - "psy/psysh": "^0.11.2" + "symfony/console": ">=6.0 <7.0", + "symfony/css-selector": ">=6.0 <7.0", + "symfony/event-dispatcher": ">=6.0 <7.0", + "symfony/finder": ">=6.0 <7.0", + "symfony/yaml": ">=6.0 <7.0", + "symfony/var-dumper": ">=6.0 < 7.0", + "psy/psysh": "^0.11.2", + "nunomaduro/collision": "^6.3" }, "require-dev": { "ext-simplexml": "*", diff --git a/src/Codeception/Subscriber/Console.php b/src/Codeception/Subscriber/Console.php index f318082cdb..285c2cbba3 100644 --- a/src/Codeception/Subscriber/Console.php +++ b/src/Codeception/Subscriber/Console.php @@ -38,7 +38,9 @@ use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use NunoMaduro\Collision\Writer; +use Whoops\Exception\Inspector; use function array_map; use function array_merge; use function array_reverse; @@ -650,6 +652,21 @@ public function printExceptionTrace($exception): void return; } + $writer = (new Writer())->setOutput($this->output); + $inspector = new Inspector($exception); + + $writer->ignoreFilesIn([ + '/vendor\/codeception/', + '/vendor\/phpunit\/phpunit\/src/', + '/vendor\/mockery\/mockery/', + '/vendor\/laravel\/framework\/src\/Illuminate\/Testing/', + '/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Testing/', + ]); + + $writer->showTrace(false); + $writer->showTitle(false); + $writer->write($inspector); + if ($this->rawStackTrace) { $this->message(OutputFormatter::escape(StackTraceFilter::getFilteredStacktrace($exception, true, false)))->writeln();