1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Process\Tests;
13
14use Symfony\Component\Process\Exception\ProcessTimedOutException;
15use Symfony\Component\Process\Process;
16
17require \dirname(__DIR__).'/vendor/autoload.php';
18
19list('e' => $php) = getopt('e:') + ['e' => 'php'];
20
21try {
22    $process = new Process("exec $php -r \"echo 'ready'; trigger_error('error', E_USER_ERROR);\"");
23    $process->start();
24    $process->setTimeout(0.5);
25    while (false === strpos($process->getOutput(), 'ready')) {
26        usleep(1000);
27    }
28    $process->signal(\SIGSTOP);
29    $process->wait();
30
31    return $process->getExitCode();
32} catch (ProcessTimedOutException $t) {
33    echo $t->getMessage().\PHP_EOL;
34
35    return 1;
36}
37