update tests with the new "transfer done" logic.
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
@@ -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()
|
||||||
|
Reference in New Issue
Block a user