diff --git a/src/Composer/Config.php b/src/Composer/Config.php index 2bb8d054b..b05a74294 100644 --- a/src/Composer/Config.php +++ b/src/Composer/Config.php @@ -211,7 +211,8 @@ class Config // convert foo-bar to COMPOSER_FOO_BAR and check if it exists since it overrides the local config $env = 'COMPOSER_' . strtoupper(strtr($key, '-', '_')); - $val = rtrim($this->process($this->getComposerEnv($env) ?: $this->config[$key], $flags), '/\\'); + $val = $this->getComposerEnv($env); + $val = rtrim($this->process(false !== $val ? $val : $this->config[$key], $flags), '/\\'); $val = Platform::expandPath($val); if (substr($key, -4) !== '-dir') { diff --git a/tests/Composer/Test/ConfigTest.php b/tests/Composer/Test/ConfigTest.php index 0d35faf6a..ac9aa8884 100644 --- a/tests/Composer/Test/ConfigTest.php +++ b/tests/Composer/Test/ConfigTest.php @@ -291,4 +291,11 @@ class ConfigTest extends \PHPUnit_Framework_TestCase ); $this->assertTrue($config->get('disable-tls')); } + + public function testProcessTimeout() + { + putenv('COMPOSER_PROCESS_TIMEOUT=0'); + $config = new Config(true); + $this->assertEquals(0, $config->get('process-timeout')); + } }