MCPcopy Create free account
hub / github.com/catboost/catboost / TestLock

Function TestLock

util/system/spinlock_ut.cpp:7–28  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5Y_UNIT_TEST_SUITE(TSpinLock) {
6 template <typename TLock>
7 void TestLock() {
8 TLock lock;
9 UNIT_ASSERT(!lock.IsLocked());
10 lock.Acquire();
11 UNIT_ASSERT(lock.IsLocked());
12 lock.Release();
13 UNIT_ASSERT(!lock.IsLocked());
14
15 UNIT_ASSERT(lock.TryAcquire());
16 UNIT_ASSERT(lock.IsLocked());
17 UNIT_ASSERT(!lock.TryAcquire());
18 UNIT_ASSERT(lock.IsLocked());
19 lock.Release();
20 UNIT_ASSERT(!lock.IsLocked());
21
22 // Lockable requirements
23 lock.lock();
24 UNIT_ASSERT(lock.IsLocked());
25 UNIT_ASSERT(!lock.try_lock());
26 lock.unlock();
27 UNIT_ASSERT(!lock.IsLocked());
28 }
29
30 Y_UNIT_TEST(TSpinLock_IsLocked) {
31 TestLock<TSpinLock>();

Callers

nothing calls this directly

Calls 7

IsLockedMethod · 0.45
AcquireMethod · 0.45
ReleaseMethod · 0.45
TryAcquireMethod · 0.45
lockMethod · 0.45
try_lockMethod · 0.45
unlockMethod · 0.45

Tested by

no test coverage detected