[Process] Don't use @requires on abstract class

This commit is contained in:
Nicolas Grekas 2015-10-10 18:01:13 +02:00
parent 4c431d6c67
commit 23fc32f78f
2 changed files with 24 additions and 14 deletions

View File

@ -71,11 +71,12 @@ abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
$this->assertNull($p->getTimeout()); $this->assertNull($p->getTimeout());
} }
/**
* @requires extension pcntl
*/
public function testStopWithTimeoutIsActuallyWorking() public function testStopWithTimeoutIsActuallyWorking()
{ {
if (!extension_loaded('pcntl')) {
$this->markTestSkipped('Extension pcntl is required.');
}
// exec is mandatory here since we send a signal to the process // exec is mandatory here since we send a signal to the process
// see https://github.com/symfony/symfony/issues/5030 about prepending // see https://github.com/symfony/symfony/issues/5030 about prepending
// command with exec // command with exec
@ -624,11 +625,12 @@ abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($termSignal, $process->getTermSignal()); $this->assertEquals($termSignal, $process->getTermSignal());
} }
/**
* @requires function posix_kill
*/
public function testProcessThrowsExceptionWhenExternallySignaled() public function testProcessThrowsExceptionWhenExternallySignaled()
{ {
if (!function_exists('posix_kill')) {
$this->markTestSkipped('Function posix_kill is required.');
}
$termSignal = defined('SIGKILL') ? SIGKILL : 9; $termSignal = defined('SIGKILL') ? SIGKILL : 9;
$process = $this->getProcess('exec php -r "while (true) {}"'); $process = $this->getProcess('exec php -r "while (true) {}"');
@ -764,11 +766,12 @@ abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
$this->assertNull($process->getPid()); $this->assertNull($process->getPid());
} }
/**
* @requires extension pcntl
*/
public function testSignal() public function testSignal()
{ {
if (!extension_loaded('pcntl')) {
$this->markTestSkipped('Extension pcntl is required.');
}
$process = $this->getProcess('exec php -f '.__DIR__.'/SignalListener.php'); $process = $this->getProcess('exec php -f '.__DIR__.'/SignalListener.php');
$process->start(); $process->start();
usleep(500000); usleep(500000);
@ -781,11 +784,12 @@ abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('Caught SIGUSR1', $process->getOutput()); $this->assertEquals('Caught SIGUSR1', $process->getOutput());
} }
/**
* @requires extension pcntl
*/
public function testExitCodeIsAvailableAfterSignal() public function testExitCodeIsAvailableAfterSignal()
{ {
if (!extension_loaded('pcntl')) {
$this->markTestSkipped('Extension pcntl is required.');
}
$process = $this->getProcess('sleep 4'); $process = $this->getProcess('sleep 4');
$process->start(); $process->start();
$process->signal(SIGKILL); $process->signal(SIGKILL);
@ -802,10 +806,13 @@ abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
/** /**
* @expectedException \Symfony\Component\Process\Exception\LogicException * @expectedException \Symfony\Component\Process\Exception\LogicException
* @requires extension pcntl
*/ */
public function testSignalProcessNotRunning() public function testSignalProcessNotRunning()
{ {
if (!extension_loaded('pcntl')) {
$this->markTestSkipped('Extension pcntl is required.');
}
$process = $this->getProcess(self::$phpBin.' -v'); $process = $this->getProcess(self::$phpBin.' -v');
$process->signal(SIGHUP); $process->signal(SIGHUP);
} }

View File

@ -121,9 +121,12 @@ class SimpleProcessTest extends AbstractProcessTest
parent::testExitCodeIsAvailableAfterSignal(); parent::testExitCodeIsAvailableAfterSignal();
} }
/**
* @expectedException \Symfony\Component\Process\Exception\LogicException
* @expectedExceptionMessage Can not send signal on a non running process.
*/
public function testSignalProcessNotRunning() public function testSignalProcessNotRunning()
{ {
$this->setExpectedException('Symfony\Component\Process\Exception\LogicException', 'Can not send signal on a non running process.');
parent::testSignalProcessNotRunning(); parent::testSignalProcessNotRunning();
} }