"time"
)
+const (
+ eventSeparator = 50 * time.Millisecond
+ waitForEvents = 500 * time.Millisecond
+)
+
// An atomic counter
type counter struct {
val int32
}
f.Sync()
- time.Sleep(time.Millisecond)
+ time.Sleep(eventSeparator)
f.WriteString("data")
f.Sync()
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
if err := testRename(testFile, testFileRenamed); err != nil {
t.Fatalf("rename failed: %s", err)
f.Sync()
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
// Recreate the file that was moved
f, err = os.OpenFile(testFile, os.O_WRONLY|os.O_CREATE, 0666)
t.Fatalf("creating test file failed: %s", err)
}
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
cReceived := createReceived.value()
if cReceived != 2 {
t.Fatalf("incorrect number of create events received after 500 ms (%d vs %d)", cReceived, 2)
}
f.Sync()
- time.Sleep(time.Millisecond)
+ time.Sleep(eventSeparator)
f.WriteString("data")
f.Sync()
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
os.Remove(testFile)
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
// Recreate the file
f, err = os.OpenFile(testFile, os.O_WRONLY|os.O_CREATE, 0666)
t.Fatalf("creating test file failed: %s", err)
}
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
// Modify
f, err = os.OpenFile(testFile, os.O_WRONLY, 0666)
}
f.Sync()
- time.Sleep(time.Millisecond)
+ time.Sleep(eventSeparator)
f.WriteString("data")
f.Sync()
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
// Modify
f, err = os.OpenFile(testFile, os.O_WRONLY, 0666)
}
f.Sync()
- time.Sleep(time.Millisecond)
+ time.Sleep(eventSeparator)
f.WriteString("data")
f.Sync()
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // give system time to sync write change before delete
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
cReceived := createReceived.value()
if cReceived != 2 {
t.Fatalf("incorrect number of create events received after 500 ms (%d vs %d)", cReceived, 2)
}
f.Sync()
- time.Sleep(time.Millisecond)
+ time.Sleep(eventSeparator)
f.WriteString("data")
f.Sync()
f.Close()
- time.Sleep(50 * time.Millisecond) // give system time to sync write change before delete
+ time.Sleep(eventSeparator) // 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(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
cReceived := createReceived.value()
if cReceived != 1 {
t.Fatalf("incorrect number of create events received after 500 ms (%d vs %d)", cReceived, 1)
os.RemoveAll(testDir)
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
dReceived := deleteReceived.value()
if dReceived < 2 {
t.Fatalf("did not receive at least %d delete events, received %d after 500 ms", 2, dReceived)
os.Remove(testFile1)
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
cReceived := createReceived.value()
if cReceived != 2 {
t.Fatalf("incorrect number of create events received after 500 ms (%d vs %d)", cReceived, 2)
}
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if renameReceived.value() == 0 {
t.Fatal("fsnotify rename events have not been received after 500 ms")
}
}
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if createReceived.value() == 0 {
t.Fatal("fsnotify create events have not been received after 500 ms")
}
}
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if eventReceived.value() == 0 {
t.Fatal("fsnotify events have not been received after 500 ms")
}
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
// Creating/writing a file changes also the mtime, so IsAttrib should be set to true here
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if modifyReceived.value() != 0 {
t.Fatal("received an unexpected modify event when creating a test file")
}
f.Sync()
f.Close()
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if modifyReceived.value() != 1 {
t.Fatal("didn't receive a modify event after changing test file contents")
t.Fatalf("chmod failed: %s", err)
}
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if attribReceived.value() != 1 {
t.Fatal("didn't receive an attribute change after 500ms")
atomic.StoreInt32(&done, 1)
}()
- time.Sleep(50e6) // 50 ms
+ time.Sleep(eventSeparator)
if atomic.LoadInt32(&done) == 0 {
t.Fatal("double Close() test failed: second Close() call didn't return")
}
t.Logf("Created bogus symlink")
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
// Should not be error, just no events for broken links (watching nothing)
if errorsReceived.value() > 0 {
}
// We expect this event to be received almost immediately, but let's wait 500 ms to be sure
- time.Sleep(500 * time.Millisecond)
+ time.Sleep(waitForEvents)
if got := createEventsReceived.value(); got == 0 {
t.Errorf("want at least 1 create event got %v", got)