]> go.fuhry.dev Git - fsnotify.git/commitdiff
Change to expect a create event in DirOnly test.
authorTravis Cline <travis.cline@gmail.com>
Wed, 6 Jun 2012 19:50:07 +0000 (14:50 -0500)
committerTravis Cline <travis.cline@gmail.com>
Wed, 6 Jun 2012 19:52:42 +0000 (14:52 -0500)
fsnotify_test.go

index 3561599aa198d86c04b96402a9493b33106358ca..d5edb443978fb4e121e0ef3ad2ec6b2c053d21cc 100644 (file)
@@ -28,8 +28,8 @@ func TestFsnotifyDirOnly(t *testing.T) {
 
        // Create a file before watching directory
        // This should NOT add any events to the fsnotify event queue
+       const testFileAlreadyExists string = "_test/TestFsnotifyEventsExisting.testfile"
        {
-               const testFileAlreadyExists string = "_test/TestFsnotifyEvents.testfile"
                var f *os.File
                f, err = os.OpenFile(testFileAlreadyExists, os.O_WRONLY|os.O_CREATE, 0666)
                if err != nil {
@@ -52,7 +52,7 @@ func TestFsnotifyDirOnly(t *testing.T) {
                }
        }()
 
-       const testFile string = "_test/TestFsnotifyEvents.testfile"
+       const testFile string = "_test/TestFsnotifyDirOnly.testfile"
 
        // Receive events on the event channel on a separate goroutine
        eventstream := watcher.Event
@@ -63,7 +63,7 @@ func TestFsnotifyDirOnly(t *testing.T) {
        go func() {
                for event := range eventstream {
                        // Only count relevant events
-                       if event.Name == testDir || event.Name == testFile {
+                       if event.Name == testDir || event.Name == testFile || event.Name == testFileAlreadyExists {
                                t.Logf("event received: %s", event)
                                if event.IsDelete() {
                                        deleteReceived++
@@ -94,20 +94,21 @@ func TestFsnotifyDirOnly(t *testing.T) {
        f.Sync()
        f.Close()
 
-       time.Sleep(200e6) // give system time to sync write change before delete
+       time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
 
        os.Remove(testFile)
+       os.Remove(testFileAlreadyExists)
 
        // We expect this event to be received almost immediately, but let's wait 500 ms to be sure
-       time.Sleep(500e6) // 500 ms
-       if createReceived > 0 {
-               t.Fatal("fsnotify create events should not occur in this test!")
+       time.Sleep(500 * time.Millisecond)
+       if createReceived != 1 {
+               t.Fatalf("incorrect number of create events received after 500 ms (%d vs %d)", createReceived, 1)
        }
-       if modifyReceived == 0 {
-               t.Fatal("fsnotify modify events have not been received after 500 ms")
+       if modifyReceived != 1 {
+               t.Fatalf("incorrect number of modify events received after 500 ms (%d vs %d)", modifyReceived, 1)
        }
-       if deleteReceived == 0 {
-               t.Fatal("fsnotify delete events have not been received after 500 ms")
+       if deleteReceived != 2 {
+               t.Fatalf("incorrect number of delete events received after 500 ms (%d vs %d)", deleteReceived, 2)
        }
 
        // Try closing the fsnotify instance
@@ -117,8 +118,8 @@ func TestFsnotifyDirOnly(t *testing.T) {
        select {
        case <-done:
                t.Log("event channel closed")
-       case <-time.After(1e9):
-               t.Fatal("event stream was not closed after 1 second")
+       case <-time.After(2 * time.Second):
+               t.Fatal("event stream was not closed after 2 seconds")
        }
 }
 
@@ -198,7 +199,7 @@ func TestFsnotifyRename(t *testing.T) {
        }
 
        // We expect this event to be received almost immediately, but let's wait 500 ms to be sure
-       time.Sleep(500e6) // 500 ms
+       time.Sleep(500 * time.Millisecond)
        if renameReceived == 0 {
                t.Fatal("fsnotify rename events have not been received after 500 ms")
        }
@@ -210,8 +211,8 @@ func TestFsnotifyRename(t *testing.T) {
        select {
        case <-done:
                t.Log("event channel closed")
-       case <-time.After(1e9):
-               t.Fatal("event stream was not closed after 1 second")
+       case <-time.After(2 * time.Second):
+               t.Fatal("event stream was not closed after 2 seconds")
        }
 
        os.Remove(testFileRenamed)
@@ -292,7 +293,7 @@ func TestFsnotifyAttrib(t *testing.T) {
        }
 
        // We expect this event to be received almost immediately, but let's wait 500 ms to be sure
-       time.Sleep(500e6) // 500 ms
+       time.Sleep(500 * time.Millisecond)
        if attribReceived == 0 {
                t.Fatal("fsnotify attribute events have not received after 500 ms")
        }