Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3945785

Browse files
greg0irenicolas-grekas
authored andcommitted
[PhpunitBridge] Read environment variable from superglobals
The Dotenv component has recently been switched to using superglobals instead of putenv(). Let us support both and give priority to superglobals. Closes #31857
1 parent 2b8e441 commit 3945785

File tree

5 files changed

+66
-4
lines changed

5 files changed

+66
-4
lines changed

src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,13 @@ private function getConfiguration()
216216
return $this->configuration;
217217
}
218218
if (false === $mode = $this->mode) {
219-
$mode = getenv('SYMFONY_DEPRECATIONS_HELPER');
219+
if (isset($_SERVER['SYMFONY_DEPRECATIONS_HELPER'])) {
220+
$mode = $_SERVER['SYMFONY_DEPRECATIONS_HELPER'];
221+
} elseif (isset($_ENV['SYMFONY_DEPRECATIONS_HELPER'])) {
222+
$mode = $_ENV['SYMFONY_DEPRECATIONS_HELPER'];
223+
} else {
224+
$mode = getenv('SYMFONY_DEPRECATIONS_HELPER');
225+
}
220226
}
221227
if ('strict' === $mode) {
222228
return $this->configuration = Configuration::inStrictMode();

src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/disabled.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
--TEST--
2-
Test DeprecationErrorHandler in weak mode
2+
Test DeprecationErrorHandler in disabled mode
33
--FILE--
44
<?php
55

6-
putenv('SYMFONY_DEPRECATIONS_HELPER=disabled');
6+
$_SERVER['SYMFONY_DEPRECATIONS_HELPER'] = 'disabled';
77
putenv('ANSICON');
88
putenv('ConEmuANSI');
99
putenv('TERM');
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--TEST--
2+
Test DeprecationErrorHandler in disabled mode (via putenv)
3+
--FILE--
4+
<?php
5+
6+
$_ENV['SYMFONY_DEPRECATIONS_HELPER'] = 'disabled';
7+
putenv('ANSICON');
8+
putenv('ConEmuANSI');
9+
putenv('TERM');
10+
11+
$vendor = __DIR__;
12+
while (!file_exists($vendor.'/vendor')) {
13+
$vendor = dirname($vendor);
14+
}
15+
define('PHPUNIT_COMPOSER_INSTALL', $vendor.'/vendor/autoload.php');
16+
require PHPUNIT_COMPOSER_INSTALL;
17+
require_once __DIR__.'/../../bootstrap.php';
18+
19+
echo (int) set_error_handler('var_dump');
20+
echo (int) class_exists('Symfony\Bridge\PhpUnit\DeprecationErrorHandler', false);
21+
22+
?>
23+
--EXPECTF--
24+
00
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--TEST--
2+
Test DeprecationErrorHandler in disabled mode (via putenv)
3+
--FILE--
4+
<?php
5+
6+
putenv('SYMFONY_DEPRECATIONS_HELPER=disabled');
7+
putenv('ANSICON');
8+
putenv('ConEmuANSI');
9+
putenv('TERM');
10+
11+
$vendor = __DIR__;
12+
while (!file_exists($vendor.'/vendor')) {
13+
$vendor = dirname($vendor);
14+
}
15+
define('PHPUNIT_COMPOSER_INSTALL', $vendor.'/vendor/autoload.php');
16+
require PHPUNIT_COMPOSER_INSTALL;
17+
require_once __DIR__.'/../../bootstrap.php';
18+
19+
echo (int) set_error_handler('var_dump');
20+
echo (int) class_exists('Symfony\Bridge\PhpUnit\DeprecationErrorHandler', false);
21+
22+
?>
23+
--EXPECTF--
24+
00

src/Symfony/Bridge/PhpUnit/bootstrap.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@
3535
}
3636
}
3737

38+
if (isset($_SERVER['SYMFONY_DEPRECATIONS_HELPER']) && 'disabled' === $_SERVER['SYMFONY_DEPRECATIONS_HELPER']) {
39+
return;
40+
}
41+
42+
if (isset($_ENV['SYMFONY_DEPRECATIONS_HELPER']) && 'disabled' === $_ENV['SYMFONY_DEPRECATIONS_HELPER']) {
43+
return;
44+
}
45+
3846
if ('disabled' !== getenv('SYMFONY_DEPRECATIONS_HELPER')) {
39-
DeprecationErrorHandler::register(getenv('SYMFONY_DEPRECATIONS_HELPER'));
47+
DeprecationErrorHandler::register(false);
4048
}

0 commit comments

Comments
 (0)