@@ -39,12 +39,19 @@ 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
+ if event .Has (fsnotify .Chmod ) && ! event .Has (fsnotify .Write ) {
48
+ // Ignore plain chmod events.
49
+ continue
50
+ }
51
+ require .Truef (t , event .Has (fsnotify .Write ), "want write event: %s" , event .String ())
52
+ require .Equal (t , event .Name , testFile , "want event for test file" )
53
+ break
54
+ }
48
55
49
56
// Test removing the file from the watcher.
50
57
err = wut .Remove (testFile )
0 commit comments