@@ -39,12 +39,20 @@ func TestFSNotifyWatcher(t *testing.T) {
39
39
require .NoError (t , err , "modify test file failed" )
40
40
41
41
// Verify that we receive the event we want.
42
- event , err := wut .Next (ctx )
43
- require .NoError (t , err , "next event failed" )
44
-
45
- require .NotNil (t , event , "want non-nil event" )
46
- require .True (t , event .Has (fsnotify .Write ), "want write event" , event .String ())
47
- require .Equal (t , event .Name , testFile , "want event for test file" )
42
+ for {
43
+ event , err := wut .Next (ctx )
44
+ require .NoError (t , err , "next event failed" )
45
+
46
+ require .NotNil (t , event , "want non-nil event" )
47
+
48
+ if event .Has (fsnotify .Chmod ) && ! event .Has (fsnotify .Write ) {
49
+ // Ignore plain chmod events.
50
+ continue
51
+ }
52
+ require .Truef (t , event .Has (fsnotify .Write ), "want write event: %s" , event .String ())
53
+ require .Equal (t , event .Name , testFile , "want event for test file" )
54
+ break
55
+ }
48
56
49
57
// Test removing the file from the watcher.
50
58
err = wut .Remove (testFile )
0 commit comments