From 2c77fd6801b59886e8d3e32233de1ed06603149b Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Tue, 20 Sep 2016 18:13:22 -0700 Subject: [PATCH] Fix process timeout when set to 0 --- src/Composer/Config.php | 3 ++- tests/Composer/Test/ConfigTest.php | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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')); + } }