40 lines
		
	
	
		
			765 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			765 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace NoccyLabs\Ipc\Signal;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class SignalTest extends \PhpUnit\Framework\TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testSimpleSignalHandler()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $callback = function () use (&$handler1) { $handler1 = true; };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $handler = new Signal(SIGUSR1);
							 | 
						||
| 
								 | 
							
								        $handler->setHandler($callback);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        posix_kill(posix_getpid(), SIGUSR1);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        usleep(1000);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(true, $handler1);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testSimpleSignalDispatcher()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $callback = function () use (&$handler1) { $handler1 = true; };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $handler = new Signal(SIGUSR1);
							 | 
						||
| 
								 | 
							
								        $handler->setHandler($callback);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $handler->dispatch(posix_getpid());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        usleep(1000);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(true, $handler1);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								}
							 |