func HammerSemaphore(s *uint32, loops int, cdone chan bool) { … } func TestSemaphore(t *testing.T) { … } func BenchmarkUncontendedSemaphore(b *testing.B) { … } func BenchmarkContendedSemaphore(b *testing.B) { … } func HammerMutex(m *Mutex, loops int, cdone chan bool) { … } func TestMutex(t *testing.T) { … } var misuseTests … func init() { … } func TestMutexMisuse(t *testing.T) { … } func TestMutexFairness(t *testing.T) { … } func BenchmarkMutexUncontended(b *testing.B) { … } func benchmarkMutex(b *testing.B, slack, work bool) { … } func BenchmarkMutex(b *testing.B) { … } func BenchmarkMutexSlack(b *testing.B) { … } func BenchmarkMutexWork(b *testing.B) { … } func BenchmarkMutexWorkSlack(b *testing.B) { … } func BenchmarkMutexNoSpin(b *testing.B) { … } func BenchmarkMutexSpin(b *testing.B) { … }