merged branch romainneutron/termsig-tests (PR #7874)

This PR was merged into the master branch.

Discussion
----------

[Process] Add unit tests for #7865

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | |no
| Tests pass?   | yes when 2.1 will be merged in master
| License       | MIT

This PR adds test for #7865. It's currently failing, but will pass once 2.1 will be merged in master.

Commits
-------

421c354 [Process] Add unit tests for #7865
This commit is contained in:
Fabien Potencier 2013-04-30 09:18:11 +02:00
commit 9869b3af88
3 changed files with 31 additions and 1 deletions

View File

@ -337,6 +337,26 @@ abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($termSignal, $process->getTermSignal());
}
public function testProcessThrowsExceptionWhenExternallySignaled()
{
if (defined('PHP_WINDOWS_VERSION_BUILD')) {
$this->markTestSkipped('Windows does not support POSIX signals');
}
if (!function_exists('posix_kill')) {
$this->markTestSkipped('posix_kill is required for this test');
}
$termSignal = defined('SIGKILL') ? SIGKILL : 9;
$process = $this->getProcess('exec php -r "while (true) {}"');
$process->start();
posix_kill($process->getPid(), $termSignal);
$this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'The process stopped because of a "9" signal.');
$process->wait();
}
public function testRestart()
{
$process1 = $this->getProcess('php -r "echo getmypid();"');

View File

@ -133,6 +133,11 @@ class SigchildDisabledProcessTest extends AbstractProcessTest
$this->markTestSkipped('Stopping with signal is not supported in sigchild environment');
}
public function testProcessThrowsExceptionWhenExternallySignaled()
{
$this->markTestSkipped('Retrieving Pid is not supported in sigchild environment');
}
/**
* {@inheritdoc}
*/

View File

@ -84,7 +84,7 @@ class SigchildEnabledProcessTest extends AbstractProcessTest
{
parent::testSignal();
}
/**
* @expectedException Symfony\Component\Process\Exception\RuntimeException
*/
@ -93,6 +93,11 @@ class SigchildEnabledProcessTest extends AbstractProcessTest
parent::testProcessWithoutTermSignalIsNotSignaled();
}
public function testProcessThrowsExceptionWhenExternallySignaled()
{
$this->markTestSkipped('Retrieving Pid is not supported in sigchild environment');
}
/**
* {@inheritdoc}
*/