Browse Source

Merge branch 'fabpot-process-timeout-fix'

* fabpot-process-timeout-fix:
  remove env variable after test assertion
  Fix process timeout when set to 0
Rob Bast 8 years ago
parent
commit
22100b21ee
2 changed files with 10 additions and 1 deletions
  1. 2 1
      src/Composer/Config.php
  2. 8 0
      tests/Composer/Test/ConfigTest.php

+ 2 - 1
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') {

+ 8 - 0
tests/Composer/Test/ConfigTest.php

@@ -291,4 +291,12 @@ 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'));
+        putenv('COMPOSER_PROCESS_TIMEOUT');
+    }
 }