Browse Source

confwatcher: add additional tests

pull/190/head
aler9 5 years ago committed by Alessandro Ros
parent
commit
205284829d
  1. 2
      internal/confwatcher/confwatcher.go
  2. 62
      internal/confwatcher/confwatcher_test.go

2
internal/confwatcher/confwatcher.go

@ -83,7 +83,7 @@ outer: @@ -83,7 +83,7 @@ outer:
eventPath, _ := filepath.Abs(event.Name)
if currentWatchedPath == "" {
// Watched file was removed wait for write event to trigger reload
// watched file was removed; wait for write event to trigger reload
previousWatchedPath = ""
} else if currentWatchedPath != previousWatchedPath ||
(eventPath == currentWatchedPath &&

62
internal/confwatcher/confwatcher_test.go

@ -29,7 +29,7 @@ func TestNoFile(t *testing.T) { @@ -29,7 +29,7 @@ func TestNoFile(t *testing.T) {
require.Error(t, err)
}
func TestFileWrite(t *testing.T) {
func TestWrite(t *testing.T) {
fpath, err := writeTempFile([]byte("{}"))
require.NoError(t, err)
@ -54,7 +54,7 @@ func TestFileWrite(t *testing.T) { @@ -54,7 +54,7 @@ func TestFileWrite(t *testing.T) {
}
}
func TestFileWriteMultipleTimes(t *testing.T) {
func TestWriteMultipleTimes(t *testing.T) {
fpath, err := writeTempFile([]byte("{}"))
require.NoError(t, err)
@ -97,7 +97,7 @@ func TestFileWriteMultipleTimes(t *testing.T) { @@ -97,7 +97,7 @@ func TestFileWriteMultipleTimes(t *testing.T) {
}
}
/*func TestFileDeleteCreate(t *testing.T) {
func TestDeleteCreate(t *testing.T) {
fpath, err := writeTempFile([]byte("{}"))
require.NoError(t, err)
@ -105,22 +105,52 @@ func TestFileWriteMultipleTimes(t *testing.T) { @@ -105,22 +105,52 @@ func TestFileWriteMultipleTimes(t *testing.T) {
require.NoError(t, err)
defer w.Close()
os.Remove(fpath)
time.Sleep(10 * time.Millisecond)
os.Remove(fpath)
time.Sleep(10 * time.Millisecond)
func() {
f, err := os.Create(fpath)
require.NoError(t, err)
defer f.Close()
_, err = f.Write([]byte("{}"))
require.NoError(t, err)
}()
select {
case <-w.Watch():
case <-time.After(500 * time.Millisecond):
t.Errorf("timed out")
return
}
}
func TestSymlinkDeleteCreate(t *testing.T) {
fpath, err := writeTempFile([]byte("{}"))
require.NoError(t, err)
func() {
f, err := os.Create(fpath)
require.NoError(t, err)
defer f.Close()
err = os.Symlink(fpath, fpath+"-sym")
require.NoError(t, err)
w, err := New(fpath + "-sym")
require.NoError(t, err)
defer w.Close()
_, err = f.Write([]byte("{}"))
require.NoError(t, err)
}()
os.Remove(fpath)
func() {
f, err := os.Create(fpath)
require.NoError(t, err)
defer f.Close()
_, err = f.Write([]byte("{}"))
require.NoError(t, err)
}()
select {
case <-w.Watch():
//case <-time.After(500 * time.Millisecond):
// t.Errorf("timed out")
// return
case <-time.After(500 * time.Millisecond):
t.Errorf("timed out")
return
}
}*/
}

Loading…
Cancel
Save