Exemple #1
0
 public function testCleanEmptyLocks()
 {
     $this->currentTime = 100;
     $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
     $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE);
     $this->currentTime = 200;
     $this->instance->acquireLock('bar', ILockingProvider::LOCK_EXCLUSIVE);
     $this->instance->changeLock('asd', ILockingProvider::LOCK_SHARED);
     $this->currentTime = 150 + \OC\Lock\DBLockingProvider::TTL;
     $this->assertEquals(3, $this->getLockEntryCount());
     $this->instance->cleanEmptyLocks();
     $this->assertEquals(3, $this->getLockEntryCount());
     $this->instance->releaseAll();
     $this->instance->cleanEmptyLocks();
     $this->assertEquals(2, $this->getLockEntryCount());
 }