further extend inotify test

This commit is contained in:
Dominic Breuker
2018-03-14 09:21:14 +01:00
parent f357059f36
commit fe0300a67c

View File

@@ -4,17 +4,22 @@ import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"strings"
"testing" "testing"
"golang.org/x/sys/unix" "golang.org/x/sys/unix"
) )
func TestInotify(t *testing.T) { func TestInotify(t *testing.T) {
// init
i := NewInotify() i := NewInotify()
err := i.Init() err := i.Init()
expectNoError(t, err) expectNoError(t, err)
// add watchers
err = i.Watch("testdata/folder") err = i.Watch("testdata/folder")
expectNoError(t, err) expectNoError(t, err)
@@ -23,6 +28,13 @@ func TestInotify(t *testing.T) {
t.Errorf("Wrong error for non-existing-folder: got %v", err) t.Errorf("Wrong error for non-existing-folder: got %v", err)
} }
numW := i.NumWatchers()
if numW != 1 {
t.Errorf("Expected 1 watcher but have %d", numW)
}
// create and parse events
err = ioutil.WriteFile("testdata/folder/f1", []byte("file content"), 0644) err = ioutil.WriteFile("testdata/folder/f1", []byte("file content"), 0644)
expectNoError(t, err) expectNoError(t, err)
defer os.Remove("testdata/folder/f1") defer os.Remove("testdata/folder/f1")
@@ -43,8 +55,15 @@ func TestInotify(t *testing.T) {
t.Fatalf("Wrong offset: %d", offset) t.Fatalf("Wrong offset: %d", offset)
} }
// finish
err = i.Close() err = i.Close()
expectNoError(t, err) expectNoError(t, err)
_, err = i.Read(buf)
if !strings.HasSuffix(fmt.Sprintf("%v", err), "errno: 9") {
t.Errorf("Wrong error for reading after close: got %v", err)
}
} }
func expectNoError(t *testing.T, err error) { func expectNoError(t *testing.T, err error) {