MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestLogLevelConcurrency

Function TestLogLevelConcurrency

base/log_level_test.go:124–163  ·  view source on GitHub ↗

This test has no assertions, but will flag any data races when run under `-race`.

(t *testing.T)

Source from the content-addressed store, hash-verified

122
123// This test has no assertions, but will flag any data races when run under `-race`.
124func TestLogLevelConcurrency(t *testing.T) {
125 logLevel := LevelWarn
126 stop := make(chan struct{})
127
128 go func() {
129 for {
130 select {
131 default:
132 logLevel.Set(LevelError)
133 case <-stop:
134 return
135 }
136 }
137 }()
138
139 go func() {
140 for {
141 select {
142 default:
143 logLevel.Set(LevelDebug)
144 case <-stop:
145 return
146 }
147 }
148 }()
149
150 go func() {
151 for {
152 select {
153 default:
154 _ = logLevel.Enabled(LevelWarn)
155 case <-stop:
156 return
157 }
158 }
159 }()
160
161 time.Sleep(time.Millisecond * 100)
162 close(stop)
163}
164
165func BenchmarkLogLevelName(b *testing.B) {
166 for i := 0; i < b.N; i++ {

Callers

nothing calls this directly

Calls 2

SetMethod · 0.45
EnabledMethod · 0.45

Tested by

no test coverage detected