mirror of https://github.com/rusefi/usb4java.git
Free USB contexts in tests
This commit is contained in:
parent
bbd9390f47
commit
2ece25826f
|
@ -1253,23 +1253,30 @@ public class LibUsbDeviceTest
|
|||
assumeUsbTestsEnabled();
|
||||
|
||||
assertEquals(0, LibUsb.init(null));
|
||||
final Pollfds pollfds = LibUsb.getPollfds(null);
|
||||
try {
|
||||
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
|
||||
assertNull(pollfds);
|
||||
} else {
|
||||
assertNotNull(pollfds);
|
||||
assertTrue("Size must be >= 0", pollfds.getSize() >= 0);
|
||||
int i = 0;
|
||||
for (Pollfd pollfd : pollfds) {
|
||||
assertEquals(pollfds.get(i), pollfd);
|
||||
assertTrue("File descriptor must be > 0", pollfd.fd() > 0);
|
||||
assertTrue("Events must be > 0", pollfd.events() > 0);
|
||||
i++;
|
||||
try
|
||||
{
|
||||
final Pollfds pollfds = LibUsb.getPollfds(null);
|
||||
try {
|
||||
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
|
||||
assertNull(pollfds);
|
||||
} else {
|
||||
assertNotNull(pollfds);
|
||||
assertTrue("Size must be >= 0", pollfds.getSize() >= 0);
|
||||
int i = 0;
|
||||
for (Pollfd pollfd : pollfds) {
|
||||
assertEquals(pollfds.get(i), pollfd);
|
||||
assertTrue("File descriptor must be > 0", pollfd.fd() > 0);
|
||||
assertTrue("Events must be > 0", pollfd.events() > 0);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
LibUsb.freePollfds(pollfds);
|
||||
}
|
||||
} finally {
|
||||
LibUsb.freePollfds(pollfds);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LibUsb.exit(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1306,9 +1313,16 @@ public class LibUsbDeviceTest
|
|||
assumeFalse(System.getProperty("os.name").toLowerCase().contains("windows"));
|
||||
assumeUsbTestsEnabled();
|
||||
assertEquals(0, LibUsb.init(null));
|
||||
final Pollfds pollfds = LibUsb.getPollfds(null);
|
||||
assertNotNull(pollfds);
|
||||
LibUsb.freePollfds(pollfds);
|
||||
assertNotNull(pollfds.get(0));
|
||||
try
|
||||
{
|
||||
final Pollfds pollfds = LibUsb.getPollfds(null);
|
||||
assertNotNull(pollfds);
|
||||
LibUsb.freePollfds(pollfds);
|
||||
assertNotNull(pollfds.get(0));
|
||||
}
|
||||
finally
|
||||
{
|
||||
LibUsb.exit(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -201,16 +201,23 @@ public class LibUsbTest
|
|||
assumeUsbTestsEnabled();
|
||||
final Context context = new Context();
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.init(context));
|
||||
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
|
||||
// On Windows this is either a success when USBDK is found or ERROR_NOT_FOUND when not
|
||||
final int result = LibUsb.setOption(context, LibUsb.OPTION_USE_USBDK);
|
||||
assertTrue(result == LibUsb.SUCCESS || result == LibUsb.ERROR_NOT_FOUND);
|
||||
} else {
|
||||
// On other operating systems it is always ERROR_NOT_SUPPORTED
|
||||
assertEquals(LibUsb.ERROR_NOT_SUPPORTED, LibUsb.setOption(context, LibUsb.OPTION_USE_USBDK));
|
||||
try
|
||||
{
|
||||
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
|
||||
// On Windows this is either a success when USBDK is found or ERROR_NOT_FOUND when not
|
||||
final int result = LibUsb.setOption(context, LibUsb.OPTION_USE_USBDK);
|
||||
assertTrue(result == LibUsb.SUCCESS || result == LibUsb.ERROR_NOT_FOUND);
|
||||
} else {
|
||||
// On other operating systems it is always ERROR_NOT_SUPPORTED
|
||||
assertEquals(LibUsb.ERROR_NOT_SUPPORTED, LibUsb.setOption(context, LibUsb.OPTION_USE_USBDK));
|
||||
}
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.setOption(context, LibUsb.OPTION_LOG_LEVEL, LibUsb.LOG_LEVEL_NONE));
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.setOption(context, LibUsb.OPTION_LOG_LEVEL, LibUsb.LOG_LEVEL_DEBUG));
|
||||
}
|
||||
finally
|
||||
{
|
||||
LibUsb.exit(context);
|
||||
}
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.setOption(context, LibUsb.OPTION_LOG_LEVEL, LibUsb.LOG_LEVEL_NONE));
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.setOption(context, LibUsb.OPTION_LOG_LEVEL, LibUsb.LOG_LEVEL_DEBUG));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -222,8 +229,15 @@ public class LibUsbTest
|
|||
assumeUsbTestsEnabled();
|
||||
final Context context = new Context();
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.init(context));
|
||||
assertEquals(LibUsb.ERROR_INVALID_PARAM, LibUsb.setOption(context, LibUsb.OPTION_LOG_LEVEL, 234));
|
||||
assertEquals(LibUsb.ERROR_INVALID_PARAM, LibUsb.setOption(context, 123));
|
||||
try
|
||||
{
|
||||
assertEquals(LibUsb.ERROR_INVALID_PARAM, LibUsb.setOption(context, LibUsb.OPTION_LOG_LEVEL, 234));
|
||||
assertEquals(LibUsb.ERROR_INVALID_PARAM, LibUsb.setOption(context, 123));
|
||||
}
|
||||
finally
|
||||
{
|
||||
LibUsb.exit(context);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1318,46 +1332,53 @@ public class LibUsbTest
|
|||
final PollfdListenerMock listener = new PollfdListenerMock();
|
||||
final Context context = new Context();
|
||||
LibUsb.init(context);
|
||||
LibUsb.setPollfdNotifiers(context, listener, "test");
|
||||
try
|
||||
{
|
||||
LibUsb.setPollfdNotifiers(context, listener, "test");
|
||||
|
||||
FileDescriptor fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdAdded(fd, 53, context.getPointer());
|
||||
assertEquals(53, listener.addedEvents);
|
||||
assertSame(fd, listener.addedFd);
|
||||
assertSame("test", listener.addedUserData);
|
||||
assertNull(listener.removedFd);
|
||||
assertNull(listener.removedUserData);
|
||||
FileDescriptor fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdAdded(fd, 53, context.getPointer());
|
||||
assertEquals(53, listener.addedEvents);
|
||||
assertSame(fd, listener.addedFd);
|
||||
assertSame("test", listener.addedUserData);
|
||||
assertNull(listener.removedFd);
|
||||
assertNull(listener.removedUserData);
|
||||
|
||||
listener.reset();
|
||||
listener.reset();
|
||||
|
||||
fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdRemoved(fd, context.getPointer());
|
||||
assertEquals(0, listener.addedEvents);
|
||||
assertNull(listener.addedFd);
|
||||
assertNull(listener.addedUserData);
|
||||
assertSame(fd, listener.removedFd);
|
||||
assertSame("test", listener.removedUserData);
|
||||
fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdRemoved(fd, context.getPointer());
|
||||
assertEquals(0, listener.addedEvents);
|
||||
assertNull(listener.addedFd);
|
||||
assertNull(listener.addedUserData);
|
||||
assertSame(fd, listener.removedFd);
|
||||
assertSame("test", listener.removedUserData);
|
||||
|
||||
LibUsb.setPollfdNotifiers(context, null, null);
|
||||
listener.reset();
|
||||
LibUsb.setPollfdNotifiers(context, null, null);
|
||||
listener.reset();
|
||||
|
||||
fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdAdded(fd, 53, context.getPointer());
|
||||
assertEquals(0, listener.addedEvents);
|
||||
assertNull(listener.addedFd);
|
||||
assertNull(listener.addedUserData);
|
||||
assertNull(listener.removedFd);
|
||||
assertNull(listener.removedUserData);
|
||||
fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdAdded(fd, 53, context.getPointer());
|
||||
assertEquals(0, listener.addedEvents);
|
||||
assertNull(listener.addedFd);
|
||||
assertNull(listener.addedUserData);
|
||||
assertNull(listener.removedFd);
|
||||
assertNull(listener.removedUserData);
|
||||
|
||||
listener.reset();
|
||||
listener.reset();
|
||||
|
||||
fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdRemoved(fd, context.getPointer());
|
||||
assertEquals(0, listener.addedEvents);
|
||||
assertNull(listener.addedFd);
|
||||
assertNull(listener.addedUserData);
|
||||
assertNull(listener.removedFd);
|
||||
assertNull(listener.removedUserData);
|
||||
fd = new FileDescriptor();
|
||||
LibUsb.triggerPollfdRemoved(fd, context.getPointer());
|
||||
assertEquals(0, listener.addedEvents);
|
||||
assertNull(listener.addedFd);
|
||||
assertNull(listener.addedUserData);
|
||||
assertNull(listener.removedFd);
|
||||
assertNull(listener.removedUserData);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LibUsb.exit(context);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1369,6 +1390,13 @@ public class LibUsbTest
|
|||
assumeUsbTestsEnabled();
|
||||
final Context context = new Context();
|
||||
assertEquals(LibUsb.SUCCESS, LibUsb.init(context));
|
||||
LibUsb.interruptEventHandler(context);
|
||||
try
|
||||
{
|
||||
LibUsb.interruptEventHandler(context);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LibUsb.exit(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue