Skip to content

Commit 0cbee38

Browse files
committed
add atomic file replacement
1 parent de2a42e commit 0cbee38

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

agent/agentcontainers/watcher/watcher_test.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,26 @@ func TestFSNotifyWatcher(t *testing.T) {
8888
break
8989
}
9090

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
105+
}
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
109+
}
110+
91111
// Test removing the file from the watcher.
92112
err = wut.Remove(testFile)
93113
require.NoError(t, err, "remove file from watcher failed")

0 commit comments

Comments
 (0)