enhance semaphore lock testing
This commit is contained in:
parent
c803dcb6c5
commit
1237ac1062
1 changed files with 19 additions and 2 deletions
|
@ -22,7 +22,7 @@ class SemaphoreLockTest extends LockTest
|
||||||
$configMock
|
$configMock
|
||||||
->shouldReceive('get')
|
->shouldReceive('get')
|
||||||
->with('system', 'temppath', NULL, false)
|
->with('system', 'temppath', NULL, false)
|
||||||
->andReturn('/tmp');
|
->andReturn('/tmp/');
|
||||||
$dice->shouldReceive('create')->with(Configuration::class)->andReturn($configMock);
|
$dice->shouldReceive('create')->with(Configuration::class)->andReturn($configMock);
|
||||||
|
|
||||||
// @todo Because "get_temppath()" is using static methods, we have to initialize the BaseObject
|
// @todo Because "get_temppath()" is using static methods, we have to initialize the BaseObject
|
||||||
|
@ -43,11 +43,13 @@ class SemaphoreLockTest extends LockTest
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test if semaphore locking works even for
|
* Test if semaphore locking works even when trying to release locks, where the file exists
|
||||||
|
* but it shouldn't harm locking
|
||||||
*/
|
*/
|
||||||
public function testMissingFileNotOverriding()
|
public function testMissingFileNotOverriding()
|
||||||
{
|
{
|
||||||
$file = get_temppath() . '/test.sem';
|
$file = get_temppath() . '/test.sem';
|
||||||
|
touch($file);
|
||||||
|
|
||||||
$this->assertTrue(file_exists($file));
|
$this->assertTrue(file_exists($file));
|
||||||
$this->assertFalse($this->instance->releaseLock('test', false));
|
$this->assertFalse($this->instance->releaseLock('test', false));
|
||||||
|
@ -64,9 +66,24 @@ class SemaphoreLockTest extends LockTest
|
||||||
public function testMissingFileOverriding()
|
public function testMissingFileOverriding()
|
||||||
{
|
{
|
||||||
$file = get_temppath() . '/test.sem';
|
$file = get_temppath() . '/test.sem';
|
||||||
|
touch($file);
|
||||||
|
|
||||||
$this->assertTrue(file_exists($file));
|
$this->assertTrue(file_exists($file));
|
||||||
$this->assertFalse($this->instance->releaseLock('test', true));
|
$this->assertFalse($this->instance->releaseLock('test', true));
|
||||||
$this->assertTrue(file_exists($file));
|
$this->assertTrue(file_exists($file));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test acquire lock even the semaphore file exists, but isn't used
|
||||||
|
*/
|
||||||
|
public function testOverrideSemFile()
|
||||||
|
{
|
||||||
|
$file = get_temppath() . '/test.sem';
|
||||||
|
touch($file);
|
||||||
|
|
||||||
|
$this->assertTrue(file_exists($file));
|
||||||
|
$this->assertTrue($this->instance->acquireLock('test'));
|
||||||
|
$this->assertTrue($this->instance->isLocked('test'));
|
||||||
|
$this->assertTrue($this->instance->releaseLock('test'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue