diff --git a/usb/usb_test.go b/usb/usb_test.go index aedd0ef..d7eab31 100644 --- a/usb/usb_test.go +++ b/usb/usb_test.go @@ -1,6 +1,9 @@ package usb_test import ( + "bytes" + "log" + "os" "testing" . "github.com/kylelemons/gousb/usb" @@ -63,3 +66,22 @@ func TestEnum(t *testing.T) { } } } + +func TestMultipleContexts(t *testing.T) { + var buf bytes.Buffer + log.SetOutput(&buf) + for i := 0; i < 10; i++ { + ctx := NewContext() + _, err := ctx.ListDevices(func(desc *Descriptor) bool { + return false + }) + if err != nil { + t.Fatal(err) + } + ctx.Close() + } + log.SetOutput(os.Stderr) + if buf.Len() > 0 { + t.Errorf("Non zero output to log, while testing: %s", buf.String()) + } +}