1
0
Fork 0

Use ExecutableFinder instead of relying on exit codes, refs #1829

pull/1833/head
Jordi Boggiano 2013-04-26 11:02:53 +02:00
parent 91db9d920b
commit 3aa7843146
1 changed files with 7 additions and 7 deletions

View File

@ -16,6 +16,7 @@ use Composer\Package\Archiver\ArchivableFilesFinder;
use Composer\Util\Filesystem; use Composer\Util\Filesystem;
use Symfony\Component\Process\Process; use Symfony\Component\Process\Process;
use Symfony\Component\Process\ExecutableFinder;
class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase
{ {
@ -102,7 +103,7 @@ class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase
public function testGitExcludes() public function testGitExcludes()
{ {
// Ensure that git is available for testing. // Ensure that git is available for testing.
if (!$this->getProcessAvailable('git')) { if (!$this->isProcessAvailable('git')) {
return $this->markTestSkipped('git is not available.'); return $this->markTestSkipped('git is not available.');
} }
@ -146,9 +147,10 @@ class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase
public function testHgExcludes() public function testHgExcludes()
{ {
// Ensure that Mercurial is available for testing. // Ensure that Mercurial is available for testing.
if (!$this->getProcessAvailable('hg')) { if (!$this->isProcessAvailable('hg')) {
return $this->markTestSkipped('Mercurial is not available.'); return $this->markTestSkipped('Mercurial is not available.');
} }
file_put_contents($this->sources.'/.hgignore', implode("\n", array( file_put_contents($this->sources.'/.hgignore', implode("\n", array(
'# hgignore rules with comments, blank lines and syntax changes', '# hgignore rules with comments, blank lines and syntax changes',
'', '',
@ -223,12 +225,10 @@ class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase
* *
* @return boolean True if the process is available, false otherwise. * @return boolean True if the process is available, false otherwise.
*/ */
protected function getProcessAvailable($process) protected function isProcessAvailable($process)
{ {
// Check if the command is found. The 127 exit code is returned when the $finder = new ExecutableFinder();
// command is not found.
$process = new Process($process);
return $process->run() !== 127; return (bool) $finder->find($process);
} }
} }