]> go.fuhry.dev Git - fsnotify.git/commitdiff
Fix symlink test race, Issue #45
authorChris Howey <chris@howey.me>
Wed, 29 May 2013 23:19:33 +0000 (18:19 -0500)
committerChris Howey <chris@howey.me>
Wed, 29 May 2013 23:19:33 +0000 (18:19 -0500)
fsnotify_symlink_test.go

index 4c884b86f6fb9cd05630591290e62da3cc9feb09..795e9230a7a17d1038ee2c29aa92b09e5d151cd5 100644 (file)
@@ -27,25 +27,25 @@ func TestFsnotifyFakeSymlink(t *testing.T) {
        }
        defer os.RemoveAll(testDir)
 
-       var errorsReceived = 0
+       var errorsReceived counter
        // Receive errors on the error channel on a separate goroutine
        go func() {
                for errors := range watcher.Error {
                        t.Logf("Received error: %s", errors)
-                       errorsReceived++
+                       errorsReceived.increment()
                }
        }()
 
        // Count the CREATE events received
-       var createEventsReceived = 0
-       var otherEventsReceived = 0
+       var createEventsReceived counter
+       var otherEventsReceived counter
        go func() {
                for ev := range watcher.Event {
                        t.Logf("event received: %s", ev)
                        if ev.IsCreate() {
-                               createEventsReceived++
+                               createEventsReceived.increment()
                        } else {
-                               otherEventsReceived++
+                               otherEventsReceived.increment()
                        }
                }
        }()
@@ -65,18 +65,18 @@ func TestFsnotifyFakeSymlink(t *testing.T) {
        time.Sleep(500 * time.Millisecond)
 
        // Should not be error, just no events for broken links (watching nothing)
-       if errorsReceived > 0 {
+       if errorsReceived.value() > 0 {
                t.Fatal("fsnotify errors have been received.")
        }
-       if otherEventsReceived > 0 {
+       if otherEventsReceived.value() > 0 {
                t.Fatal("fsnotify other events received on the broken link")
        }
 
        // Except for 1 create event (for the link itself)
-       if createEventsReceived == 0 {
+       if createEventsReceived.value() == 0 {
                t.Fatal("fsnotify create events were not received after 500 ms")
        }
-       if createEventsReceived > 1 {
+       if createEventsReceived.value() > 1 {
                t.Fatal("fsnotify more create events received than expected")
        }