detached 7538f61

test(daemon): release locks before assertions

commit
7538f61b225dc0eb8f98c7e0c621d1619df8d43c
author
brice · · 2026-07-24 04:32 UTC
parent
71b3504
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +7 -2
M internal/usecase/daemon/performance_benchmark_test.go +7 -2
@@ -170,11 +170,16 @@ func TestPerformanceFixtureExplicitCloseReleasesIterationState(t *testing.T) {
170170 require.Error(t, serveCtx.Err())
171171 require.Error(t, hardCtx.Err())
172172 d.mu.Lock()
173- require.NotContains(t, d.sessions, sess.id)
173+ sessionIDs := make([]domain.SessionID, 0, len(d.sessions))
174+ for id := range d.sessions {
175+ sessionIDs = append(sessionIDs, id)
176+ }
174177 d.mu.Unlock()
178+ require.NotContains(t, sessionIDs, sess.id)
175179 d.snapshotWorkerMu.Lock()
176- require.Nil(t, d.snapshotWorkerCancel)
180+ workerCancel := d.snapshotWorkerCancel
177181 d.snapshotWorkerMu.Unlock()
182+ require.Nil(t, workerCancel)
178183 }
179184
180185 func TestCountingOutputTransportCountsOpaquePayloadAndRejectsShortPayload(t *testing.T) {
@@ -170,11 +170,16 @@ func TestPerformanceFixtureExplicitCloseReleasesIterationState(t *testing.T) {
170 require.Error(t, serveCtx.Err())170 require.Error(t, serveCtx.Err())
171 require.Error(t, hardCtx.Err())171 require.Error(t, hardCtx.Err())
172 d.mu.Lock()172 d.mu.Lock()
173- require.NotContains(t, d.sessions, sess.id)173+ sessionIDs := make([]domain.SessionID, 0, len(d.sessions))
174+ for id := range d.sessions {
175+ sessionIDs = append(sessionIDs, id)
176+ }
174 d.mu.Unlock()177 d.mu.Unlock()
178+ require.NotContains(t, sessionIDs, sess.id)
175 d.snapshotWorkerMu.Lock()179 d.snapshotWorkerMu.Lock()
176- require.Nil(t, d.snapshotWorkerCancel)180+ workerCancel := d.snapshotWorkerCancel
177 d.snapshotWorkerMu.Unlock()181 d.snapshotWorkerMu.Unlock()
182+ require.Nil(t, workerCancel)
178 }183 }
179 184
180 func TestCountingOutputTransportCountsOpaquePayloadAndRejectsShortPayload(t *testing.T) {185 func TestCountingOutputTransportCountsOpaquePayloadAndRejectsShortPayload(t *testing.T) {

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 13

↑↓ moveenter openesc close