Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ApplicationTester.php

function ApplicationTester::run

Executes the application.

Available options:

  • interactive: Sets the input interactive flag
  • decorated: Sets the output decorated flag
  • verbosity: Sets the output verbosity flag
  • capture_stderr_separately: Make output of stdOut and stdErr separately available

Return value

int The command exit code

File

vendor/symfony/console/Tester/ApplicationTester.php, line 48

Class

ApplicationTester
Eases the testing of console applications.

Namespace

Symfony\Component\Console\Tester

Code

public function run(array $input, array $options = []) : int {
    $prevShellVerbosity = getenv('SHELL_VERBOSITY');
    try {
        $this->input = new ArrayInput($input);
        if (isset($options['interactive'])) {
            $this->input
                ->setInteractive($options['interactive']);
        }
        if ($this->inputs) {
            $this->input
                ->setStream(self::createStream($this->inputs));
        }
        $this->initOutput($options);
        return $this->statusCode = $this->application
            ->run($this->input, $this->output);
    } finally {
        // SHELL_VERBOSITY is set by Application::configureIO so we need to unset/reset it
        // to its previous value to avoid one test's verbosity to spread to the following tests
        if (false === $prevShellVerbosity) {
            if (\function_exists('putenv')) {
                @putenv('SHELL_VERBOSITY');
            }
            unset($_ENV['SHELL_VERBOSITY']);
            unset($_SERVER['SHELL_VERBOSITY']);
        }
        else {
            if (\function_exists('putenv')) {
                @putenv('SHELL_VERBOSITY=' . $prevShellVerbosity);
            }
            $_ENV['SHELL_VERBOSITY'] = $prevShellVerbosity;
            $_SERVER['SHELL_VERBOSITY'] = $prevShellVerbosity;
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal