37 lines
		
	
	
		
			924 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			924 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/*
 | 
						|
 * This file is part of the Symfony package.
 | 
						|
 *
 | 
						|
 * (c) Fabien Potencier <fabien@symfony.com>
 | 
						|
 *
 | 
						|
 * For the full copyright and license information, please view the LICENSE
 | 
						|
 * file that was distributed with this source code.
 | 
						|
 */
 | 
						|
 | 
						|
namespace Symfony\Component\Process\Tests;
 | 
						|
 | 
						|
use Symfony\Component\Process\Exception\ProcessTimedOutException;
 | 
						|
use Symfony\Component\Process\Process;
 | 
						|
 | 
						|
require \dirname(__DIR__).'/vendor/autoload.php';
 | 
						|
 | 
						|
list('e' => $php) = getopt('e:') + ['e' => 'php'];
 | 
						|
 | 
						|
try {
 | 
						|
    $process = new Process("exec $php -r \"echo 'ready'; trigger_error('error', E_USER_ERROR);\"");
 | 
						|
    $process->start();
 | 
						|
    $process->setTimeout(0.5);
 | 
						|
    while (false === strpos($process->getOutput(), 'ready')) {
 | 
						|
        usleep(1000);
 | 
						|
    }
 | 
						|
    $process->signal(SIGSTOP);
 | 
						|
    $process->wait();
 | 
						|
 | 
						|
    return $process->getExitCode();
 | 
						|
} catch (ProcessTimedOutException $t) {
 | 
						|
    echo $t->getMessage().PHP_EOL;
 | 
						|
 | 
						|
    return 1;
 | 
						|
}
 |