Browse Source

Fix broken test on windows, fixes #4973

Jordi Boggiano 9 years ago
parent
commit
b080a73840

+ 4 - 0
src/Composer/Downloader/VcsDownloader.php

@@ -127,6 +127,10 @@ abstract class VcsDownloader implements DownloaderInterface, ChangeReportInterfa
                 $exception = null;
                 break;
             } catch (\Exception $exception) {
+                // rethrow phpunit exceptions to avoid hard to debug bug failures
+                if ($exception instanceof \PHPUnit_Framework_Exception) {
+                    throw $exception;
+                }
                 if ($this->io->isDebug()) {
                     $this->io->writeError('Failed: ['.get_class($exception).'] '.$exception->getMessage());
                 } elseif (count($urls)) {

+ 1 - 3
tests/Composer/Test/Downloader/GitDownloaderTest.php

@@ -356,8 +356,6 @@ class GitDownloaderTest extends TestCase
 
     public function testUpdateDoesntThrowsRuntimeExceptionIfGitCommandFailsAtFirstButIsAbleToRecover()
     {
-        $this->markTestIncomplete('This test is disabled until https://github.com/composer/composer/issues/4973 is resolved');
-
         $expectedFirstGitUpdateCommand = $this->winCompat("git remote set-url composer '' && git fetch composer && git fetch --tags composer");
         $expectedSecondGitUpdateCommand = $this->winCompat("git remote set-url composer 'https://github.com/composer/composer' && git fetch composer && git fetch --tags composer");
 
@@ -448,7 +446,7 @@ class GitDownloaderTest extends TestCase
             $cmd = str_replace('cd ', 'cd /D ', $cmd);
             $cmd = str_replace('composerPath', getcwd().'/composerPath', $cmd);
 
-            return strtr($cmd, "'", '"');
+            return str_replace('""', '', strtr($cmd, "'", '"'));
         }
 
         return $cmd;