Tests
1. LIBUSB_ERROR_BUSY - open the same device twice
2. LIBUSB_ERROR_NO_DEVICE - get list of devices, pause, unplug device, attempt to open the unplugged device.
3. LIBUSB_ERROR_ACCESS - get list of devices, pause, alter permissions on the device node, attempt to open a device.
4. LIBUSB_ERROR_INVALID_PARAM - pass a null device handle.
5. LIBUSB_ERROR_NO_MEM - get list of devices, pause, simulate heap full, attempt to open a device.
A program covering the above tests - included in Bugzilla - has been run against actual hardware to very correctness.