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  }