update tests with the new "transfer done" logic.

This commit is contained in:
Sebastian Zagrodzki
2017-04-26 21:40:51 +02:00
parent fbd26497e6
commit ae8627a890
2 changed files with 6 additions and 7 deletions

View File

@@ -259,19 +259,18 @@ func (f *fakeLibusb) setAlt(d *libusbDevHandle, intf, alt uint8) error {
return nil return nil
} }
func (f *fakeLibusb) alloc(_ *libusbDevHandle, _ *EndpointInfo, _ time.Duration, _ int, buf []byte) (*libusbTransfer, error) { func (f *fakeLibusb) alloc(_ *libusbDevHandle, _ *EndpointInfo, _ time.Duration, _ int, buf []byte, done chan struct{}) (*libusbTransfer, error) {
f.mu.Lock() f.mu.Lock()
defer f.mu.Unlock() defer f.mu.Unlock()
t := new(libusbTransfer) t := new(libusbTransfer)
f.ts[t] = &fakeTransfer{buf: buf} f.ts[t] = &fakeTransfer{buf: buf, done: done}
return t, nil return t, nil
} }
func (f *fakeLibusb) cancel(t *libusbTransfer) error { return errors.New("not implemented") } func (f *fakeLibusb) cancel(t *libusbTransfer) error { return errors.New("not implemented") }
func (f *fakeLibusb) submit(t *libusbTransfer, done chan struct{}) error { func (f *fakeLibusb) submit(t *libusbTransfer) error {
f.mu.Lock() f.mu.Lock()
ft := f.ts[t] ft := f.ts[t]
f.mu.Unlock() f.mu.Unlock()
ft.done = done
f.submitted <- ft f.submitted <- ft
return nil return nil
} }

View File

@@ -93,18 +93,18 @@ func TestTransferProtocol(t *testing.T) {
ft.length = 5 ft.length = 5
ft.status = TransferCompleted ft.status = TransferCompleted
copy(ft.buf, []byte{1, 2, 3, 4, 5}) copy(ft.buf, []byte{1, 2, 3, 4, 5})
close(ft.done) ft.done <- struct{}{}
ft = f.waitForSubmitted() ft = f.waitForSubmitted()
ft.length = 99 ft.length = 99
ft.status = TransferCompleted ft.status = TransferCompleted
copy(ft.buf, []byte{12, 12, 12, 12, 12}) copy(ft.buf, []byte{12, 12, 12, 12, 12})
close(ft.done) ft.done <- struct{}{}
ft = f.waitForSubmitted() ft = f.waitForSubmitted()
ft.length = 123 ft.length = 123
ft.status = TransferCancelled ft.status = TransferCancelled
close(ft.done) ft.done <- struct{}{}
}() }()
xfers[0].submit() xfers[0].submit()