Skip to content

Commit 219d1b4

Browse files
chore(agent/agentcontainers): skip part of test if on darwin (#19081)
1 parent 6147da5 commit 219d1b4

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

agent/agentcontainers/watcher/watcher_test.go

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"os"
66
"path/filepath"
7+
"runtime"
78
"testing"
89

910
"github.com/fsnotify/fsnotify"
@@ -88,24 +89,34 @@ func TestFSNotifyWatcher(t *testing.T) {
8889
break
8990
}
9091

91-
err = os.WriteFile(testFile+".atomic", []byte(`{"test": "atomic"}`), 0o600)
92-
require.NoError(t, err, "write new atomic test file failed")
93-
94-
err = os.Rename(testFile+".atomic", testFile)
95-
require.NoError(t, err, "rename atomic test file failed")
96-
97-
// Verify that we receive the event we want.
98-
for {
99-
event, err := wut.Next(ctx)
100-
require.NoError(t, err, "next event failed")
101-
require.NotNil(t, event, "want non-nil event")
102-
if !event.Has(fsnotify.Create) {
103-
t.Logf("Ignoring event: %s", event)
104-
continue
92+
// TODO(DanielleMaywood):
93+
// Unfortunately it appears this atomic-rename phase of the test is flakey on macOS.
94+
//
95+
// This test flake could be indicative of an issue that may present itself
96+
// in a running environment. Fortunately, we only use this (as of 2025-07-29)
97+
// for our dev container integration. We do not expect the host workspace
98+
// (where this is used), to ever be run on macOS, as containers are a linux
99+
// paradigm.
100+
if runtime.GOOS != "darwin" {
101+
err = os.WriteFile(testFile+".atomic", []byte(`{"test": "atomic"}`), 0o600)
102+
require.NoError(t, err, "write new atomic test file failed")
103+
104+
err = os.Rename(testFile+".atomic", testFile)
105+
require.NoError(t, err, "rename atomic test file failed")
106+
107+
// Verify that we receive the event we want.
108+
for {
109+
event, err := wut.Next(ctx)
110+
require.NoError(t, err, "next event failed")
111+
require.NotNil(t, event, "want non-nil event")
112+
if !event.Has(fsnotify.Create) {
113+
t.Logf("Ignoring event: %s", event)
114+
continue
115+
}
116+
require.Truef(t, event.Has(fsnotify.Create), "want create event: %s", event.String())
117+
require.Equal(t, event.Name, testFile, "want event for test file")
118+
break
105119
}
106-
require.Truef(t, event.Has(fsnotify.Create), "want create event: %s", event.String())
107-
require.Equal(t, event.Name, testFile, "want event for test file")
108-
break
109120
}
110121

111122
// Test removing the file from the watcher.

0 commit comments

Comments
 (0)