function FixturesBase::runComposer

Runs a `composer` command.

Parameters

string $cmd: The Composer command to execute (escaped as required)

string $cwd: The current working directory to run the command from.

Return value

string Standard output and standard error from the command.

File

core/tests/Drupal/Tests/Composer/Plugin/FixturesBase.php, line 258

Class

FixturesBase
Base class for fixtures to test composer plugins.

Namespace

Drupal\Tests\Composer\Plugin

Code

public function runComposer(string $cmd, string $cwd) : string {
  chdir($cwd);
  $input = new StringInput($cmd);
  $output = new BufferedOutput();
  $application = new Application();
  $application->setAutoExit(FALSE);
  $exitCode = $application->run($input, $output);
  $output = $output->fetch();
  if ($exitCode != 0) {
    throw new \Exception("Fixtures::runComposer failed to set up fixtures.\n\nCommand: '{$cmd}'\nExit code: {$exitCode}\nOutput: \n\n{$output}");
  }
  return $output;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.