function TemplateProjectTestBase::runComposer

Runs a Composer command and returns its output.

Always asserts that the command was executed successfully.

Parameters

string $command: The command to execute, including the `composer` invocation.

string|null $working_dir: (optional) A working directory relative to the workspace, within which to execute the command. Defaults to the workspace directory.

bool $json: (optional) Whether to parse the command's output as JSON before returning it. Defaults to FALSE.

Return value

mixed|string|null The command's output, optionally parsed as JSON.

6 calls to TemplateProjectTestBase::runComposer()
PackageInstallDirectWriteTest::testPackageInstall in core/modules/package_manager/tests/src/Build/PackageInstallDirectWriteTest.php
Tests installing packages in a stage directory.
PackageInstallSubmoduleTest::testSubModules in core/modules/package_manager/tests/src/Build/PackageInstallSubmoduleTest.php
Tests installing a Drupal submodule.
PackageInstallTest::testPackageInstall in core/modules/package_manager/tests/src/Build/PackageInstallTest.php
Tests installing packages in a stage directory.
PackageUpdateTest::testPackageUpdate in core/modules/package_manager/tests/src/Build/PackageUpdateTest.php
Tests updating packages in a stage directory.
TemplateProjectTestBase::addRepository in core/modules/package_manager/tests/src/Build/TemplateProjectTestBase.php
Adds a path repository to the test site.

... See full list

File

core/modules/package_manager/tests/src/Build/TemplateProjectTestBase.php, line 516

Class

TemplateProjectTestBase
Base class for tests which create a test site from a core project template.

Namespace

Drupal\Tests\package_manager\Build

Code

protected function runComposer(string $command, ?string $working_dir = NULL, bool $json = FALSE) {
  $process = $this->executeCommand($command, $working_dir);
  $this->assertCommandSuccessful();
  $output = trim($process->getOutput());
  if ($json) {
    $output = json_decode($output, TRUE, flags: JSON_THROW_ON_ERROR);
  }
  return $output;
}

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