github.com/cilium/cilium@v1.16.2/pkg/lock/semaphored_mutex_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package lock 5 6 import ( 7 "testing" 8 ) 9 10 func TestSemaphoredMutex(t *testing.T) { 11 lock1 := NewSemaphoredMutex() 12 lock1.Lock() 13 lock1.Unlock() 14 15 lock1.RLock() 16 lock1.RUnlock() 17 18 lock2 := NewSemaphoredMutex() 19 lock2.Lock() 20 lock2.Unlock() 21 22 lock2.Lock() 23 lock2.UnlockToRLock() 24 25 lock2.RLock() 26 lock2.RLock() 27 28 lock2.RUnlock() 29 lock2.RUnlock() 30 lock2.RUnlock() 31 32 }