mirror of
				https://github.com/mik3y/usb-serial-for-android
				synced 2025-10-31 02:17:23 +00:00 
			
		
		
		
	test coverage
This commit is contained in:
		
							parent
							
								
									b794092c81
								
							
						
					
					
						commit
						b6e1833270
					
				
							
								
								
									
										5
									
								
								codecov.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								codecov.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | codecov: | ||||||
|  |   max_report_age: off | ||||||
|  |   require_ci_to_pass: no | ||||||
|  |   notify: | ||||||
|  |     wait_for_ci: no | ||||||
| @ -235,6 +235,12 @@ public class DeviceTest { | |||||||
| 
 | 
 | ||||||
|     @Test |     @Test | ||||||
|     public void openClose() throws Exception { |     public void openClose() throws Exception { | ||||||
|  |         try { | ||||||
|  |             usb.serialPort.open(null); | ||||||
|  |             fail("null connection error expected"); | ||||||
|  |         } catch (IllegalArgumentException ignored) { | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         usb.open(); |         usb.open(); | ||||||
|         telnet.setParameters(19200, 8, 1, UsbSerialPort.PARITY_NONE); |         telnet.setParameters(19200, 8, 1, UsbSerialPort.PARITY_NONE); | ||||||
|         usb.setParameters(19200, 8, 1, UsbSerialPort.PARITY_NONE); |         usb.setParameters(19200, 8, 1, UsbSerialPort.PARITY_NONE); | ||||||
| @ -1528,10 +1534,18 @@ public class DeviceTest { | |||||||
| 
 | 
 | ||||||
|         // with internal SerialTimeoutException |         // with internal SerialTimeoutException | ||||||
|         TestBuffer tbuf = new TestBuffer(usb.writeBufferSize + 2*usb.writePacketSize); |         TestBuffer tbuf = new TestBuffer(usb.writeBufferSize + 2*usb.writePacketSize); | ||||||
|  |         byte[] pbuf1 = new byte[tbuf.buf.length - 4]; | ||||||
|  |         byte[] pbuf2 = new byte[1]; | ||||||
|  |         System.arraycopy(tbuf.buf, 0,pbuf1, 0, pbuf1.length); | ||||||
|         usb.ioManager.setWriteTimeout(20); // tbuf len >= 128, needs 133msec @ 9600 baud |         usb.ioManager.setWriteTimeout(20); // tbuf len >= 128, needs 133msec @ 9600 baud | ||||||
|         usb.setParameters(9600, 8, 1, UsbSerialPort.PARITY_NONE); |         usb.setParameters(9600, 8, 1, UsbSerialPort.PARITY_NONE); | ||||||
|         telnet.setParameters(9600, 8, 1, UsbSerialPort.PARITY_NONE); |         telnet.setParameters(9600, 8, 1, UsbSerialPort.PARITY_NONE); | ||||||
|         usb.ioManager.writeAsync(tbuf.buf); |         usb.ioManager.writeAsync(pbuf1); | ||||||
|  |         for(int i = pbuf1.length; i < tbuf.buf.length; i++) { | ||||||
|  |             Thread.sleep(20); | ||||||
|  |             pbuf2[0] = tbuf.buf[i]; | ||||||
|  |             usb.ioManager.writeAsync(pbuf2); | ||||||
|  |         } | ||||||
|         while(!tbuf.testRead(telnet.read(-1))) |         while(!tbuf.testRead(telnet.read(-1))) | ||||||
|             ; |             ; | ||||||
|     } |     } | ||||||
| @ -1577,7 +1591,7 @@ public class DeviceTest { | |||||||
|         telnet.setParameters(19200, 8, 1, UsbSerialPort.PARITY_NONE); |         telnet.setParameters(19200, 8, 1, UsbSerialPort.PARITY_NONE); | ||||||
| 
 | 
 | ||||||
|         int longTimeout = 1000; |         int longTimeout = 1000; | ||||||
|         int shortTimeout = 10; |         int shortTimeout = 20; | ||||||
|         time = System.currentTimeMillis(); |         time = System.currentTimeMillis(); | ||||||
|         len = usb.serialPort.read(readBuf, shortTimeout); |         len = usb.serialPort.read(readBuf, shortTimeout); | ||||||
|         assertEquals(0, len); |         assertEquals(0, len); | ||||||
| @ -1728,6 +1742,8 @@ public class DeviceTest { | |||||||
|                 wrongSerialPort.open(wrongDeviceConnection); |                 wrongSerialPort.open(wrongDeviceConnection); | ||||||
|             } catch (IOException ignored) { |             } catch (IOException ignored) { | ||||||
|             } |             } | ||||||
|  |             assertEquals(usb.serialDriver.getDevice(), wrongSerialDriver.getDevice()); | ||||||
|  |             assertEquals(wrongSerialDriver, wrongSerialPort.getDriver()); | ||||||
|             assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setParameters(9200, 8, 1, 0)); |             assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setParameters(9200, 8, 1, 0)); | ||||||
|             assertEquals(EnumSet.noneOf(ControlLine.class), wrongSerialPort.getSupportedControlLines()); |             assertEquals(EnumSet.noneOf(ControlLine.class), wrongSerialPort.getSupportedControlLines()); | ||||||
|             try { |             try { | ||||||
| @ -1743,6 +1759,8 @@ public class DeviceTest { | |||||||
|                 wrongSerialPort.open(wrongDeviceConnection); |                 wrongSerialPort.open(wrongDeviceConnection); | ||||||
|             } catch (IOException ignored) { |             } catch (IOException ignored) { | ||||||
|             } |             } | ||||||
|  |             assertEquals(usb.serialDriver.getDevice(), wrongSerialDriver.getDevice()); | ||||||
|  |             assertEquals(wrongSerialDriver, wrongSerialPort.getDriver()); | ||||||
|             assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setParameters(9200, 8, 1, 0)); |             assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setParameters(9200, 8, 1, 0)); | ||||||
|             assertEquals(EnumSet.noneOf(ControlLine.class), wrongSerialPort.getSupportedControlLines()); |             assertEquals(EnumSet.noneOf(ControlLine.class), wrongSerialPort.getSupportedControlLines()); | ||||||
|             try { |             try { | ||||||
| @ -2093,7 +2111,9 @@ public class DeviceTest { | |||||||
|     public void commonMethods() throws Exception { |     public void commonMethods() throws Exception { | ||||||
|         String s; |         String s; | ||||||
|         assertNotNull(usb.serialPort.getDriver()); |         assertNotNull(usb.serialPort.getDriver()); | ||||||
|  |         assertEquals(usb.serialDriver, usb.serialPort.getDriver()); | ||||||
|         assertNotNull(usb.serialPort.getDevice()); |         assertNotNull(usb.serialPort.getDevice()); | ||||||
|  |         assertEquals(usb.serialDriver.getDevice(), usb.serialPort.getDevice()); | ||||||
|         assertEquals(test_device_port, usb.serialPort.getPortNumber()); |         assertEquals(test_device_port, usb.serialPort.getPortNumber()); | ||||||
|         s = usb.serialDriver.toString(); |         s = usb.serialDriver.toString(); | ||||||
|         assertNotEquals(0, s.length()); |         assertNotEquals(0, s.length()); | ||||||
| @ -2124,6 +2144,26 @@ public class DeviceTest { | |||||||
|             usb.serialPort.read(buffer, UsbWrapper.USB_READ_WAIT); |             usb.serialPort.read(buffer, UsbWrapper.USB_READ_WAIT); | ||||||
|             fail("read buffer to small expected"); |             fail("read buffer to small expected"); | ||||||
|         } catch(IllegalArgumentException ignored) {} |         } catch(IllegalArgumentException ignored) {} | ||||||
|  |         try { | ||||||
|  |             byte[] buffer = new byte[1]; | ||||||
|  |             usb.serialPort.read(buffer, 0, UsbWrapper.USB_READ_WAIT); | ||||||
|  |             fail("read length to small expected"); | ||||||
|  |         } catch(IllegalArgumentException ignored) {} | ||||||
|  | 
 | ||||||
|  |         // use driver that does not override base class | ||||||
|  |         UsbSerialDriver wrongSerialDriver = new ChromeCcdSerialDriver(usb.serialDriver.getDevice()); | ||||||
|  |         UsbSerialPort wrongSerialPort = wrongSerialDriver.getPorts().get(0); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getCD); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getCTS); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getDSR); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getDTR); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setDTR(true)); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getRI); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getRTS); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setRTS(true)); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, wrongSerialPort::getControlLines); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.purgeHwBuffers(true, true)); | ||||||
|  |         assertThrows(UnsupportedOperationException.class, () -> wrongSerialPort.setBreak(true)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Test |     @Test | ||||||
|  | |||||||
| @ -27,6 +27,9 @@ public class HexDump { | |||||||
|             '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' |             '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     private HexDump() { | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public static String dumpHexString(byte[] array) { |     public static String dumpHexString(byte[] array) { | ||||||
|         return dumpHexString(array, 0, array.length); |         return dumpHexString(array, 0, array.length); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -6,6 +6,9 @@ import java.util.ArrayList; | |||||||
| 
 | 
 | ||||||
| public class UsbUtils { | public class UsbUtils { | ||||||
| 
 | 
 | ||||||
|  |     private UsbUtils() { | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public static  ArrayList<byte[]> getDescriptors(UsbDeviceConnection connection) { |     public static  ArrayList<byte[]> getDescriptors(UsbDeviceConnection connection) { | ||||||
|         ArrayList<byte[]> descriptors = new ArrayList<>(); |         ArrayList<byte[]> descriptors = new ArrayList<>(); | ||||||
|         byte[] rawDescriptors = connection.getRawDescriptors(); |         byte[] rawDescriptors = connection.getRawDescriptors(); | ||||||
|  | |||||||
| @ -0,0 +1,44 @@ | |||||||
|  | package com.hoho.android.usbserial.util; | ||||||
|  | 
 | ||||||
|  | import static org.hamcrest.CoreMatchers.equalTo; | ||||||
|  | import static org.hamcrest.MatcherAssert.assertThat; | ||||||
|  | import static org.junit.Assert.assertEquals; | ||||||
|  | import static org.junit.Assert.assertThrows; | ||||||
|  | 
 | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | import java.security.InvalidParameterException; | ||||||
|  | 
 | ||||||
|  | public class HexDumpText { | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void toByteArray() throws Exception { | ||||||
|  |         assertThat(HexDump.toByteArray((byte)0x4a), equalTo(new byte[]{ 0x4A})); | ||||||
|  |         assertThat(HexDump.toByteArray((short)0x4a5b), equalTo(new byte[]{ 0x4A, 0x5B})); | ||||||
|  |         assertThat(HexDump.toByteArray((int)0x4a5b6c7d), equalTo(new byte[]{ 0x4A, 0x5B, 0x6C, 0x7D})); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void toHexString() throws Exception { | ||||||
|  |         assertEquals("4A", HexDump.toHexString((byte)0x4a)); | ||||||
|  |         assertEquals("4A 5B", HexDump.toHexString((short)0x4a5b)); | ||||||
|  |         assertEquals("4A 5B 6C 7D", HexDump.toHexString((int)0x4a5b6c7d)); | ||||||
|  |         assertEquals("4A 5B 6C 7D", HexDump.toHexString(new byte[]{ 0x4A, 0x5B, 0x6C, 0x7D})); | ||||||
|  |         assertEquals("5B 6C", HexDump.toHexString(new byte[]{ 0x4A, 0x5B, 0x6C, 0x7D}, 1, 2)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void dumpHexString() throws Exception { | ||||||
|  |         assertEquals("10 31 32 33 34 35 36 37 .1234567\n18 39                   .9", HexDump.dumpHexString(new byte[]{ 0x10, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x18, 0x39})); | ||||||
|  |         assertEquals("31 32                   12", HexDump.dumpHexString(new byte[]{ 0x30, 0x31, 0x32, 0x33}, 1, 2)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void toByte() throws Exception { | ||||||
|  |         assertThat(HexDump.hexStringToByteArray("4a 5B-6c\n7d"), equalTo(new byte[]{ 0x4A, 0x5B, 0x6C, 0x7D})); | ||||||
|  |         assertThrows(InvalidParameterException.class, () -> HexDump.hexStringToByteArray("3 ")); | ||||||
|  |         assertThrows(InvalidParameterException.class, () -> HexDump.hexStringToByteArray("3z")); | ||||||
|  |         assertThrows(InvalidParameterException.class, () -> HexDump.hexStringToByteArray("3Z")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user