diff --git a/.env.test b/.env.test index 2ed1ce0f..f654aca0 100644 --- a/.env.test +++ b/.env.test @@ -3,5 +3,6 @@ KERNEL_CLASS='App\Kernel' APP_SECRET='$ecretf0rt3st' SYMFONY_DEPRECATIONS_HELPER=999999 PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots DATABASE_URL=mysql://root:@127.0.0.1:3306/part-db_test \ No newline at end of file diff --git a/bin/console b/bin/console index 8fe9d494..c933dc53 100755 --- a/bin/console +++ b/bin/console @@ -3,41 +3,15 @@ use App\Kernel; use Symfony\Bundle\FrameworkBundle\Console\Application; -use Symfony\Component\Console\Input\ArgvInput; -use Symfony\Component\Dotenv\Dotenv; -use Symfony\Component\ErrorHandler\Debug; -if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { - echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL; +if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) { + throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".'); } -set_time_limit(0); +require_once dirname(__DIR__).'/vendor/autoload_runtime.php'; -require dirname(__DIR__).'/vendor/autoload.php'; +return function (array $context) { + $kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']); -if (!class_exists(Application::class) || !class_exists(Dotenv::class)) { - throw new LogicException('You need to add "symfony/framework-bundle" and "symfony/dotenv" as Composer dependencies.'); -} - -$input = new ArgvInput(); -if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) { - putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); -} - -if ($input->hasParameterOption('--no-debug', true)) { - putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); -} - -(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); - -if ($_SERVER['APP_DEBUG']) { - umask(0000); - - if (class_exists(Debug::class)) { - Debug::enable(); - } -} - -$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); -$application = new Application($kernel); -$application->run($input); + return new Application($kernel); +}; diff --git a/composer.json b/composer.json index 03086810..f926f367 100644 --- a/composer.json +++ b/composer.json @@ -51,6 +51,7 @@ "symfony/property-access": "5.3.*", "symfony/property-info": "5.3.*", "symfony/proxy-manager-bridge": "5.3.*", + "symfony/runtime": "5.3.*", "symfony/security-bundle": "5.3.*", "symfony/serializer": "5.3.*", "symfony/translation": "5.3.*", @@ -116,7 +117,8 @@ "auto-scripts": { "cache:clear": "symfony-cmd", "ckeditor:install --clear=drop": "symfony-cmd", - "assets:install %PUBLIC_DIR%": "symfony-cmd" + "assets:install %PUBLIC_DIR%": "symfony-cmd", + "ckeditor:install": "symfony-cmd" }, "post-install-cmd": [ "@auto-scripts" diff --git a/composer.lock b/composer.lock index c247daa5..34cfcaf6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3a3e92b062d083353440e68f4db8c14b", + "content-hash": "0eb3aba14b3196ef61ed36e2fff7b0fd", "packages": [ { "name": "beberlei/assert", @@ -9024,6 +9024,83 @@ ], "time": "2021-08-04T21:42:42+00:00" }, + { + "name": "symfony/runtime", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/runtime.git", + "reference": "685a4a5491e25c7f2dd251d8fcca583b427ff290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/runtime/zipball/685a4a5491e25c7f2dd251d8fcca583b427ff290", + "reference": "685a4a5491e25c7f2dd251d8fcca583b427ff290", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/dotenv": "<5.1" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "symfony/console": "^4.4|^5", + "symfony/dotenv": "^5.1", + "symfony/http-foundation": "^4.4|^5", + "symfony/http-kernel": "^4.4|^5" + }, + "type": "composer-plugin", + "extra": { + "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin" + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Runtime\\": "", + "Symfony\\Runtime\\Symfony\\Component\\": "Internal/" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Enables decoupling PHP applications from global state", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/runtime/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-06-30T13:49:12+00:00" + }, { "name": "symfony/security-bundle", "version": "v5.3.8", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 1351ebba..fada8c2e 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -14,6 +14,7 @@ + diff --git a/symfony.lock b/symfony.lock index ce8dc043..0e21a69f 100644 --- a/symfony.lock +++ b/symfony.lock @@ -172,7 +172,7 @@ "repo": "github.com/symfony/recipes-contrib", "branch": "master", "version": "2.0", - "ref": "8eb1cd0962ded6a6d6e1e5a9b6d3e888f9f94ff6" + "ref": "f5ad42002183a6881962683e6d84bbb25cdfce5d" }, "files": [ "./config/packages/fos_ckeditor.yaml" @@ -208,7 +208,7 @@ "repo": "github.com/symfony/recipes-contrib", "branch": "master", "version": "1.8", - "ref": "5a5bdc2d0e2533ed6935d5ae562f2b318a8fc1ee" + "ref": "ffbb72e74598f04cc7f79f9fc736c77eeb98f569" }, "files": [ "./config/packages/liip_imagine.yaml", @@ -254,7 +254,7 @@ "repo": "github.com/symfony/recipes", "branch": "master", "version": "1.0", - "ref": "7c0a9352a57376f04f5444e74565102c3a23d0c7" + "ref": "0cd4d2d0e7f646fda75f9944f747a56e6ed13d4c" }, "files": [ "./config/packages/nyholm_psr7.yaml" @@ -377,7 +377,7 @@ "repo": "github.com/symfony/recipes", "branch": "master", "version": "4.7", - "ref": "3b372539f3886b07a7d80ff58d70abb6f2e4219a" + "ref": "b5b34fa22319ac1f7f6c180b30e160841c154a1e" }, "files": [ "./.env.test", @@ -506,7 +506,7 @@ "repo": "github.com/symfony/recipes-contrib", "branch": "master", "version": "1.0", - "ref": "71599f5b0fdeeeec0fb90e9b17c85e6f5e1350c1" + "ref": "9d254a22efca7264203eea98b866f16f944b2f09" }, "files": [ "./public/.htaccess" @@ -528,12 +528,12 @@ "version": "v4.2.3" }, "symfony/console": { - "version": "5.1", + "version": "5.3", "recipe": { "repo": "github.com/symfony/recipes", "branch": "master", - "version": "5.1", - "ref": "c6d02bdfba9da13c22157520e32a602dbee8a75c" + "version": "5.3", + "ref": "da0c8be8157600ad34f10ff0c9cc91232522e047" }, "files": [ "./bin/console" @@ -756,6 +756,9 @@ "./config/routes.yaml" ] }, + "symfony/runtime": { + "version": "v5.3.4" + }, "symfony/security-bundle": { "version": "5.1", "recipe": { diff --git a/tests/bootstrap.php b/tests/bootstrap.php index cc712a19..469dccee 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,7 +1,5 @@