summaryrefslogtreecommitdiffhomepage
path: root/device
diff options
context:
space:
mode:
Diffstat (limited to 'device')
-rw-r--r--device/device_test.go24
-rw-r--r--device/noise_test.go27
-rw-r--r--device/tun_test.go56
3 files changed, 27 insertions, 80 deletions
diff --git a/device/device_test.go b/device/device_test.go
index 01ee2ac..1716f92 100644
--- a/device/device_test.go
+++ b/device/device_test.go
@@ -314,30 +314,6 @@ func TestConcurrencySafety(t *testing.T) {
close(done)
}
-func assertNil(t *testing.T, err error) {
- if err != nil {
- t.Fatal(err)
- }
-}
-
-func assertEqual(t *testing.T, a, b []byte) {
- if !bytes.Equal(a, b) {
- t.Fatal(a, "!=", b)
- }
-}
-
-func randDevice(t *testing.T) *Device {
- sk, err := newPrivateKey()
- if err != nil {
- t.Fatal(err)
- }
- tun := newDummyTUN("dummy")
- logger := NewLogger(LogLevelError, "")
- device := NewDevice(tun, conn.NewDefaultBind(), logger)
- device.SetPrivateKey(sk)
- return device
-}
-
func BenchmarkLatency(b *testing.B) {
pair := genTestPair(b)
diff --git a/device/noise_test.go b/device/noise_test.go
index dbf2c7d..807ca2d 100644
--- a/device/noise_test.go
+++ b/device/noise_test.go
@@ -9,6 +9,9 @@ import (
"bytes"
"encoding/binary"
"testing"
+
+ "golang.zx2c4.com/wireguard/conn"
+ "golang.zx2c4.com/wireguard/tun/tuntest"
)
func TestCurveWrappers(t *testing.T) {
@@ -29,6 +32,30 @@ func TestCurveWrappers(t *testing.T) {
}
}
+func randDevice(t *testing.T) *Device {
+ sk, err := newPrivateKey()
+ if err != nil {
+ t.Fatal(err)
+ }
+ tun := tuntest.NewChannelTUN()
+ logger := NewLogger(LogLevelError, "")
+ device := NewDevice(tun.TUN(), conn.NewDefaultBind(), logger)
+ device.SetPrivateKey(sk)
+ return device
+}
+
+func assertNil(t *testing.T, err error) {
+ if err != nil {
+ t.Fatal(err)
+ }
+}
+
+func assertEqual(t *testing.T, a, b []byte) {
+ if !bytes.Equal(a, b) {
+ t.Fatal(a, "!=", b)
+ }
+}
+
func TestNoiseHandshake(t *testing.T) {
dev1 := randDevice(t)
dev2 := randDevice(t)
diff --git a/device/tun_test.go b/device/tun_test.go
deleted file mode 100644
index 2ccae62..0000000
--- a/device/tun_test.go
+++ /dev/null
@@ -1,56 +0,0 @@
-/* SPDX-License-Identifier: MIT
- *
- * Copyright (C) 2017-2021 WireGuard LLC. All Rights Reserved.
- */
-
-package device
-
-import (
- "errors"
- "os"
-
- "golang.zx2c4.com/wireguard/tun"
-)
-
-// newDummyTUN creates a dummy TUN device with the specified name.
-func newDummyTUN(name string) tun.Device {
- return &dummyTUN{
- name: name,
- packets: make(chan []byte, 100),
- events: make(chan tun.Event, 10),
- }
-}
-
-// A dummyTUN is a tun.Device which is used in unit tests.
-type dummyTUN struct {
- name string
- mtu int
- packets chan []byte
- events chan tun.Event
-}
-
-func (d *dummyTUN) Events() chan tun.Event { return d.events }
-func (*dummyTUN) File() *os.File { return nil }
-func (*dummyTUN) Flush() error { return nil }
-func (d *dummyTUN) MTU() (int, error) { return d.mtu, nil }
-func (d *dummyTUN) Name() (string, error) { return d.name, nil }
-
-func (d *dummyTUN) Close() error {
- close(d.events)
- close(d.packets)
- return nil
-}
-
-func (d *dummyTUN) Read(b []byte, offset int) (int, error) {
- buf, ok := <-d.packets
- if !ok {
- return 0, errors.New("device closed")
- }
- copy(b[offset:], buf)
- return len(buf), nil
-}
-
-func (d *dummyTUN) Write(b []byte, offset int) (int, error) {
- d.packets <- b[offset:]
- return len(b), nil
-}