‪TYPO3CMS  ‪main
SemaphoreLockStrategyTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\RequiresFunction;
21 use PHPUnit\Framework\Attributes\Test;
24 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
25 
26 final class ‪SemaphoreLockStrategyTest extends UnitTestCase
27 {
28  #[Test]
29  #[RequiresFunction('sem_get')]
30  public function ‪acquireGetsSemaphore(): void
31  {
32  $lock = new ‪SemaphoreLockStrategy('99999');
33  self::assertTrue($lock->acquire());
34  $lock->release();
35  $lock->destroy();
36  }
37 
38  #[Test]
39  public function ‪getPriorityReturnsDefaultPriority(): void
40  {
42  }
43 
44  #[Test]
45  public function ‪setPriority(): void
46  {
47  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['locking']['strategies'][SemaphoreLockStrategy::class]['priority'] = 10;
48  self::assertEquals(10, ‪SemaphoreLockStrategy::getPriority());
49  unset(‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['locking']['strategies'][SemaphoreLockStrategy::class]['priority']);
50  }
51 }
‪TYPO3\CMS\Core\Locking\SemaphoreLockStrategy\getPriority
‪static int getPriority()
Definition: SemaphoreLockStrategy.php:161
‪TYPO3\CMS\Core\Tests\Unit\Locking\SemaphoreLockStrategyTest\getPriorityReturnsDefaultPriority
‪getPriorityReturnsDefaultPriority()
Definition: SemaphoreLockStrategyTest.php:39
‪TYPO3\CMS\Core\Tests\Unit\Locking\SemaphoreLockStrategyTest\acquireGetsSemaphore
‪acquireGetsSemaphore()
Definition: SemaphoreLockStrategyTest.php:30
‪TYPO3\CMS\Core\Locking\SimpleLockStrategy\getPriority
‪static int getPriority()
Definition: SimpleLockStrategy.php:191
‪TYPO3\CMS\Core\Locking\SemaphoreLockStrategy
Definition: SemaphoreLockStrategy.php:28
‪TYPO3\CMS\Core\Tests\Unit\Locking\SemaphoreLockStrategyTest\setPriority
‪setPriority()
Definition: SemaphoreLockStrategyTest.php:45
‪TYPO3\CMS\Core\Tests\Unit\Locking\SemaphoreLockStrategyTest
Definition: SemaphoreLockStrategyTest.php:27
‪TYPO3\CMS\Core\Tests\Unit\Locking
Definition: FileLockStrategyTest.php:18
‪TYPO3\CMS\Core\Locking\SimpleLockStrategy
Definition: SimpleLockStrategy.php:28
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Locking\SimpleLockStrategy\DEFAULT_PRIORITY
‪const DEFAULT_PRIORITY
Definition: SimpleLockStrategy.php:32