diff options
Diffstat (limited to 'helper_test.go')
-rw-r--r-- | helper_test.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/helper_test.go b/helper_test.go index c72e868..b7c9c6c 100644 --- a/helper_test.go +++ b/helper_test.go @@ -8,6 +8,7 @@ package main import ( "bytes" + "errors" "os" "testing" ) @@ -40,6 +41,8 @@ func (tun *DummyTUN) Write(d []byte, offset int) (int, error) { } func (tun *DummyTUN) Close() error { + close(tun.events) + close(tun.packets) return nil } @@ -48,7 +51,10 @@ func (tun *DummyTUN) Events() chan TUNEvent { } func (tun *DummyTUN) Read(d []byte, offset int) (int, error) { - t := <-tun.packets + t, ok := <-tun.packets + if !ok { + return 0, errors.New("device closed") + } copy(d[offset:], t) return len(t), nil } @@ -57,6 +63,7 @@ func CreateDummyTUN(name string) (TUNDevice, error) { var dummy DummyTUN dummy.mtu = 0 dummy.packets = make(chan []byte, 100) + dummy.events = make(chan TUNEvent, 10) return &dummy, nil } |