public function testCommunication()
{
if (version_compare(PHP_VERSION, '5.6.0') < 0) {
$this->markTestSkipped("php version is too low");
}
$process = new \Jenner\SimpleFork\Process(function () {
$lock = \Jenner\SimpleFork\Lock\Semaphore::create('test');
$lock->acquire(false);
sleep(5);
$lock->release();
});
$process->start();
sleep(3);
$lock = \Jenner\SimpleFork\Lock\Semaphore::create("test");
$this->assertFalse($lock->acquire(false));
$process->wait();
$this->assertTrue($lock->acquire(false));
$this->assertTrue($lock->release());
}