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);
}