public function AbstractProcessTest::testCheckTimeoutOnStartedProcess

File

drupal/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php, line 410

Class

AbstractProcessTest
@author Robert Schönthal <seroscho@googlemail.com>

Namespace

Symfony\Component\Process\Tests

Code

public function testCheckTimeoutOnStartedProcess() {
  $timeout = 0.5;
  $precision = 100000;
  $process = $this
    ->getProcess('sleep 3');
  $process
    ->setTimeout($timeout);
  $start = microtime(true);
  $process
    ->start();
  try {
    while ($process
      ->isRunning()) {
      $process
        ->checkTimeout();
      usleep($precision);
    }
    $this
      ->fail('A RuntimeException should have been raised');
  } catch (RuntimeException $e) {
  }
  $duration = microtime(true) - $start;
  $this
    ->assertLessThan($timeout + $precision, $duration);
}