From 397c9fb76a5f9622db8faa6e1c6c26ecb0ae9845 Mon Sep 17 00:00:00 2001 From: Hugo Dutka Date: Thu, 23 Apr 2026 14:54:05 +0200 Subject: [PATCH] fix(agent/x/agentdesktop): flaky TestPortableDesktop_StopRecording_WithThumbnail (#24671) Fixes https://github.com/coder/internal/issues/1462 --- agent/x/agentdesktop/portabledesktop_internal_test.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agent/x/agentdesktop/portabledesktop_internal_test.go b/agent/x/agentdesktop/portabledesktop_internal_test.go index c63a252309..c8720e1098 100644 --- a/agent/x/agentdesktop/portabledesktop_internal_test.go +++ b/agent/x/agentdesktop/portabledesktop_internal_test.go @@ -636,7 +636,9 @@ func TestPortableDesktop_StopRecording_ReturnsArtifact(t *testing.T) { logger := slogtest.Make(t, nil) rec := &recordedExecer{ scripts: map[string]string{ - "record": `trap 'exit 0' INT; sleep 120 & wait`, + // Use exec so SIGINT is delivered directly to sleep + // and the process exits immediately. (See coder/internal#1462.) + "record": `exec sleep 120`, "up": `printf '{"vncPort":5901,"geometry":"1920x1080"}\n' && sleep 120`, }, } @@ -680,7 +682,9 @@ func TestPortableDesktop_StopRecording_WithThumbnail(t *testing.T) { logger := slogtest.Make(t, nil) rec := &recordedExecer{ scripts: map[string]string{ - "record": `trap 'exit 0' INT; sleep 120 & wait`, + // See TestPortableDesktop_StopRecording_ReturnsArtifact + // for why we use exec instead of trap+wait. + "record": `exec sleep 120`, "up": `printf '{"vncPort":5901,"geometry":"1920x1080"}\n' && sleep 120`, }, }