<p>roh <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17099">View Change</a></p><div style="white-space:pre-wrap">Approvals:
laforge: Looks good to me, but someone else must approve
roh: Looks good to me, approved
Hoernchen: Looks good to me, but someone else must approve
Jenkins Builder: Verified
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Implement CI scripts for testing the resulting binary on hardware for jenkins<br><br>Change-Id: I3ddd2b9afda0e15883603566259c6e58571d2bc8<br>---<br>A tests/README<br>A tests/run-tests<br>A tests/sysmo-octsim/01_check_rig.out<br>A tests/sysmo-octsim/01_check_rig.sh<br>A tests/sysmo-octsim/02_flash_dfu.out<br>A tests/sysmo-octsim/02_flash_dfu.sh<br>A tests/sysmo-octsim/03_check_lsusb.out<br>A tests/sysmo-octsim/03_check_lsusb.sh<br>A tests/sysmo-octsim/04_check_dfu_lsusb.out<br>A tests/sysmo-octsim/04_check_dfu_lsusb.sh<br>A tests/sysmo-octsim/README<br>A tests/sysmo-octsim/ctl_reset_target.sh<br>A tests/sysmo-octsim/ctl_reset_to_dfu.sh<br>A tests/sysmo-octsim/fetch_image.sh<br>A tests/sysmo-octsim/flash_octsim_dfu.sh<br>A tests/sysmo-octsim/get_installed_version.sh<br>A tests/sysmo-octsim/prepare<br>A tests/sysmo-octsim/regen<br>A tests/sysmo-octsim/run-tests<br>A tests/sysmo-octsim/test-data<br>20 files changed, 506 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/README b/tests/README</span><br><span>new file mode 100644</span><br><span>index 0000000..552ac71</span><br><span>--- /dev/null</span><br><span>+++ b/tests/README</span><br><span>@@ -0,0 +1,7 @@</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-ccid-firmware</span><br><span style="color: hsl(120, 100%, 40%);">+==================</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+this testbed is the hardware-CI interface to make sure the firmware built is also working when flashed onto hardware.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+to run it you will need a usb controlled relay board like the devantech_Ltd._USB-RLY08 and a sysmo-octsim board.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/run-tests b/tests/run-tests</span><br><span>new file mode 100755</span><br><span>index 0000000..bfc942d</span><br><span>--- /dev/null</span><br><span>+++ b/tests/run-tests</span><br><span>@@ -0,0 +1,14 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+echo "=========================================================="</span><br><span style="color: hsl(120, 100%, 40%);">+echo " EXECUTING TESTS FOR SYSMO-OCTSIM"</span><br><span style="color: hsl(120, 100%, 40%);">+echo "=========================================================="</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+cd ./sysmo-octsim</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Location $PWD"</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+sh ./run-tests</span><br><span style="color: hsl(120, 100%, 40%);">+cd ..</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span>diff --git a/tests/sysmo-octsim/01_check_rig.out b/tests/sysmo-octsim/01_check_rig.out</span><br><span>new file mode 100644</span><br><span>index 0000000..1bd7d66</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/01_check_rig.out</span><br><span>@@ -0,0 +1,90 @@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ID 04d8:ffee Microchip Technology, Inc. Devantech USB-ISS</span><br><span style="color: hsl(120, 100%, 40%);">+Device Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 18</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdUSB 2.00</span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceClass 2 Communications</span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceSubClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bMaxPacketSize0 8</span><br><span style="color: hsl(120, 100%, 40%);">+ idVendor 0x04d8 Microchip Technology, Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+ idProduct 0xffee Devantech USB-ISS</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdDevice 1.00</span><br><span style="color: hsl(120, 100%, 40%);">+ iManufacturer 1 Devantech Ltd.</span><br><span style="color: hsl(120, 100%, 40%);">+ iProduct 2 USB-RLY08</span><br><span style="color: hsl(120, 100%, 40%);">+ iSerial 3 00021197</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumConfigurations 1</span><br><span style="color: hsl(120, 100%, 40%);">+ Configuration Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 2</span><br><span style="color: hsl(120, 100%, 40%);">+ wTotalLength 0x0043</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumInterfaces 2</span><br><span style="color: hsl(120, 100%, 40%);">+ bConfigurationValue 1</span><br><span style="color: hsl(120, 100%, 40%);">+ iConfiguration 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 0xc0</span><br><span style="color: hsl(120, 100%, 40%);">+ Self Powered</span><br><span style="color: hsl(120, 100%, 40%);">+ MaxPower 100mA</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 2 Communications</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 2 Abstract (modem)</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 1 AT-commands (v.25ter)</span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ CDC Header:</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdCDC 1.10</span><br><span style="color: hsl(120, 100%, 40%);">+ CDC ACM:</span><br><span style="color: hsl(120, 100%, 40%);">+ bmCapabilities 0x02</span><br><span style="color: hsl(120, 100%, 40%);">+ line coding and serial state</span><br><span style="color: hsl(120, 100%, 40%);">+ CDC Union:</span><br><span style="color: hsl(120, 100%, 40%);">+ bMasterInterface 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bSlaveInterface 1 </span><br><span style="color: hsl(120, 100%, 40%);">+ CDC Call Management:</span><br><span style="color: hsl(120, 100%, 40%);">+ bmCapabilities 0x00</span><br><span style="color: hsl(120, 100%, 40%);">+ bDataInterface 1</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x81 EP 1 IN</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 3</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0008 1x 8 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 2</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 10 CDC Data</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x02 EP 2 OUT</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Bulk</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 0</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x82 EP 2 IN</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Bulk</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 0</span><br><span style="color: hsl(120, 100%, 40%);">+Device Status: 0x0001</span><br><span style="color: hsl(120, 100%, 40%);">+ Self Powered</span><br><span>diff --git a/tests/sysmo-octsim/01_check_rig.sh b/tests/sysmo-octsim/01_check_rig.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..3831fb6</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/01_check_rig.sh</span><br><span>@@ -0,0 +1,4 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+lsusb -d 04d8:ffee -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"</span><br><span>diff --git a/tests/sysmo-octsim/02_flash_dfu.out b/tests/sysmo-octsim/02_flash_dfu.out</span><br><span>new file mode 100644</span><br><span>index 0000000..eacc4d1</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/02_flash_dfu.out</span><br><span>@@ -0,0 +1,23 @@</span><br><span style="color: hsl(120, 100%, 40%);">+fetch image</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span style="color: hsl(120, 100%, 40%);">+resetting target to dfu</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span style="color: hsl(120, 100%, 40%);">+dfu-util 0.9</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+Copyright 2010-2016 Tormod Volden and Stefan Schmidt</span><br><span style="color: hsl(120, 100%, 40%);">+This program is Free Software and has ABSOLUTELY NO WARRANTY</span><br><span style="color: hsl(120, 100%, 40%);">+Please report bugs to http://sourceforge.net/p/dfu-util/tickets/</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Opening DFU capable USB device...</span><br><span style="color: hsl(120, 100%, 40%);">+ID 1d50:6141</span><br><span style="color: hsl(120, 100%, 40%);">+Run-time device DFU version 0110</span><br><span style="color: hsl(120, 100%, 40%);">+Claiming USB DFU Interface...</span><br><span style="color: hsl(120, 100%, 40%);">+Setting Alternate Setting #0 ...</span><br><span style="color: hsl(120, 100%, 40%);">+Determining device status: state = dfuIDLE, status = 0</span><br><span style="color: hsl(120, 100%, 40%);">+dfuIDLE, continuing</span><br><span style="color: hsl(120, 100%, 40%);">+DFU mode device DFU version 0110</span><br><span style="color: hsl(120, 100%, 40%);">+Device returned transfer size 512</span><br><span style="color: hsl(120, 100%, 40%);">+Copying data from PC to DFU device</span><br><span style="color: hsl(120, 100%, 40%);">+Download done.</span><br><span style="color: hsl(120, 100%, 40%);">+Resetting USB to switch back to runtime mode</span><br><span>diff --git a/tests/sysmo-octsim/02_flash_dfu.sh b/tests/sysmo-octsim/02_flash_dfu.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..c51d5b1</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/02_flash_dfu.sh</span><br><span>@@ -0,0 +1,9 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+./get_installed_version.sh</span><br><span style="color: hsl(120, 100%, 40%);">+./fetch_image.sh</span><br><span style="color: hsl(120, 100%, 40%);">+./ctl_reset_to_dfu.sh</span><br><span style="color: hsl(120, 100%, 40%);">+./flash_octsim_dfu.sh</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+./get_installed_version.sh</span><br><span>diff --git a/tests/sysmo-octsim/03_check_lsusb.out b/tests/sysmo-octsim/03_check_lsusb.out</span><br><span>new file mode 100644</span><br><span>index 0000000..bdc7672</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/03_check_lsusb.out</span><br><span>@@ -0,0 +1,179 @@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ID 1d50:6141 OpenMoko, Inc. </span><br><span style="color: hsl(120, 100%, 40%);">+Device Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 18</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdUSB 2.00</span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceClass 2 Communications</span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceSubClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bMaxPacketSize0 64</span><br><span style="color: hsl(120, 100%, 40%);">+ idVendor 0x1d50 OpenMoko, Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+ idProduct 0x6141 </span><br><span style="color: hsl(120, 100%, 40%);">+ bcdDevice 0.00</span><br><span style="color: hsl(120, 100%, 40%);">+ iManufacturer 1 sysmocom - s.f.m.c. GmbH</span><br><span style="color: hsl(120, 100%, 40%);">+ iProduct 2 sysmoOCTSIM</span><br><span style="color: hsl(120, 100%, 40%);">+ iSerial 7 ecc68ade3335355320202034463715ff</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumConfigurations 1</span><br><span style="color: hsl(120, 100%, 40%);">+ Configuration Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 2</span><br><span style="color: hsl(120, 100%, 40%);">+ wTotalLength 0x00a9</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumInterfaces 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bConfigurationValue 1</span><br><span style="color: hsl(120, 100%, 40%);">+ iConfiguration 3 A</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 0x80</span><br><span style="color: hsl(120, 100%, 40%);">+ (Bus Powered)</span><br><span style="color: hsl(120, 100%, 40%);">+ MaxPower 500mA</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 2 Communications</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 2 Abstract (modem)</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 4 debug UART</span><br><span style="color: hsl(120, 100%, 40%);">+ CDC Header:</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdCDC 10.01</span><br><span style="color: hsl(120, 100%, 40%);">+ CDC Call Management:</span><br><span style="color: hsl(120, 100%, 40%);">+ bmCapabilities 0x01</span><br><span style="color: hsl(120, 100%, 40%);">+ call management</span><br><span style="color: hsl(120, 100%, 40%);">+ bDataInterface 0</span><br><span style="color: hsl(120, 100%, 40%);">+ CDC ACM:</span><br><span style="color: hsl(120, 100%, 40%);">+ bmCapabilities 0x02</span><br><span style="color: hsl(120, 100%, 40%);">+ line coding and serial state</span><br><span style="color: hsl(120, 100%, 40%);">+ CDC Union:</span><br><span style="color: hsl(120, 100%, 40%);">+ bMasterInterface 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bSlaveInterface 2 </span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x82 EP 2 IN</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 3</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 10</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 2</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 2</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 10 CDC Data</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 5 debug UART</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x01 EP 1 OUT</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Bulk</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 0</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x81 EP 1 IN</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Bulk</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 0</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 3</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 11 Chip/SmartCard</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 6 CCID</span><br><span style="color: hsl(120, 100%, 40%);">+ ChipCard Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 54</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 33</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdCCID 1.10 (Warning: Only accurate for version 1.0)</span><br><span style="color: hsl(120, 100%, 40%);">+ nMaxSlotIndex 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bVoltageSupport 7 5.0V 3.0V 1.8V </span><br><span style="color: hsl(120, 100%, 40%);">+ dwProtocols 1 T=0</span><br><span style="color: hsl(120, 100%, 40%);">+ dwDefaultClock 2500</span><br><span style="color: hsl(120, 100%, 40%);">+ dwMaxiumumClock 20000</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumClockSupported 4</span><br><span style="color: hsl(120, 100%, 40%);">+ dwDataRate 6720 bps</span><br><span style="color: hsl(120, 100%, 40%);">+ dwMaxDataRate 921600 bps</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumDataRatesSupp. 0</span><br><span style="color: hsl(120, 100%, 40%);">+ dwMaxIFSD 0</span><br><span style="color: hsl(120, 100%, 40%);">+ dwSyncProtocols 00000000 </span><br><span style="color: hsl(120, 100%, 40%);">+ dwMechanical 00000000 </span><br><span style="color: hsl(120, 100%, 40%);">+ dwFeatures 000100B0</span><br><span style="color: hsl(120, 100%, 40%);">+ Auto clock change</span><br><span style="color: hsl(120, 100%, 40%);">+ Auto baud rate change</span><br><span style="color: hsl(120, 100%, 40%);">+ Auto PPS made by CCID</span><br><span style="color: hsl(120, 100%, 40%);">+ TPDU level exchange</span><br><span style="color: hsl(120, 100%, 40%);">+ dwMaxCCIDMsgLen 272</span><br><span style="color: hsl(120, 100%, 40%);">+ bClassGetResponse echo</span><br><span style="color: hsl(120, 100%, 40%);">+ bClassEnvelope echo</span><br><span style="color: hsl(120, 100%, 40%);">+ wlcdLayout none</span><br><span style="color: hsl(120, 100%, 40%);">+ bPINSupport 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bMaxCCIDBusySlots 8</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x02 EP 2 OUT</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Bulk</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 0</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x83 EP 3 IN</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 2</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Bulk</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 0</span><br><span style="color: hsl(120, 100%, 40%);">+ Endpoint Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 7</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 5</span><br><span style="color: hsl(120, 100%, 40%);">+ bEndpointAddress 0x84 EP 4 IN</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 3</span><br><span style="color: hsl(120, 100%, 40%);">+ Transfer Type Interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+ Synch Type None</span><br><span style="color: hsl(120, 100%, 40%);">+ Usage Type Data</span><br><span style="color: hsl(120, 100%, 40%);">+ wMaxPacketSize 0x0040 1x 64 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterval 16</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 3</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 254 Application Specific Interface</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 1 Device Firmware Update</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 1 </span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 8 sysmoOCTSIM DFU (Runtime)</span><br><span style="color: hsl(120, 100%, 40%);">+ Device Firmware Upgrade Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 33</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 8</span><br><span style="color: hsl(120, 100%, 40%);">+ Will Detach</span><br><span style="color: hsl(120, 100%, 40%);">+ Manifestation Intolerant</span><br><span style="color: hsl(120, 100%, 40%);">+ Upload Unsupported</span><br><span style="color: hsl(120, 100%, 40%);">+ Download Unsupported</span><br><span style="color: hsl(120, 100%, 40%);">+ wDetachTimeout 0 milliseconds</span><br><span style="color: hsl(120, 100%, 40%);">+ wTransferSize 512 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdDFUVersion 1.00</span><br><span style="color: hsl(120, 100%, 40%);">+Device Status: 0x0000</span><br><span style="color: hsl(120, 100%, 40%);">+ (Bus Powered)</span><br><span>diff --git a/tests/sysmo-octsim/03_check_lsusb.sh b/tests/sysmo-octsim/03_check_lsusb.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..f12e7d4</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/03_check_lsusb.sh</span><br><span>@@ -0,0 +1,4 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+lsusb -d 1d50:6141 -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"|sed -e "s/^.*iProduct.*2.*sysmoOCTSIM.*$/ iProduct 2 sysmoOCTSIM/g"</span><br><span>diff --git a/tests/sysmo-octsim/04_check_dfu_lsusb.out b/tests/sysmo-octsim/04_check_dfu_lsusb.out</span><br><span>new file mode 100644</span><br><span>index 0000000..4e8e136</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/04_check_dfu_lsusb.out</span><br><span>@@ -0,0 +1,54 @@</span><br><span style="color: hsl(120, 100%, 40%);">+resetting target to dfu</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ID 1d50:6141 OpenMoko, Inc. </span><br><span style="color: hsl(120, 100%, 40%);">+Device Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 18</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdUSB 2.00</span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceSubClass 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bDeviceProtocol 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bMaxPacketSize0 64</span><br><span style="color: hsl(120, 100%, 40%);">+ idVendor 0x1d50 OpenMoko, Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+ idProduct 0x6141 </span><br><span style="color: hsl(120, 100%, 40%);">+ bcdDevice 0.00</span><br><span style="color: hsl(120, 100%, 40%);">+ iManufacturer 1 sysmocom</span><br><span style="color: hsl(120, 100%, 40%);">+ iProduct 2 sysmoOCTSIM (osmo-ASF4-DFU)</span><br><span style="color: hsl(120, 100%, 40%);">+ iSerial 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bNumConfigurations 1</span><br><span style="color: hsl(120, 100%, 40%);">+ Configuration Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 2</span><br><span style="color: hsl(120, 100%, 40%);">+ wTotalLength 0x001b</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumInterfaces 1</span><br><span style="color: hsl(120, 100%, 40%);">+ bConfigurationValue 1</span><br><span style="color: hsl(120, 100%, 40%);">+ iConfiguration 0 </span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 0x80</span><br><span style="color: hsl(120, 100%, 40%);">+ (Bus Powered)</span><br><span style="color: hsl(120, 100%, 40%);">+ MaxPower 100mA</span><br><span style="color: hsl(120, 100%, 40%);">+ Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 4</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceNumber 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bAlternateSetting 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bNumEndpoints 0</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceClass 254 Application Specific Interface</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceSubClass 1 Device Firmware Update</span><br><span style="color: hsl(120, 100%, 40%);">+ bInterfaceProtocol 2 </span><br><span style="color: hsl(120, 100%, 40%);">+ iInterface 3 SAM D5x/E5x DFU bootloader (DFU mode)</span><br><span style="color: hsl(120, 100%, 40%);">+ Device Firmware Upgrade Interface Descriptor:</span><br><span style="color: hsl(120, 100%, 40%);">+ bLength 9</span><br><span style="color: hsl(120, 100%, 40%);">+ bDescriptorType 33</span><br><span style="color: hsl(120, 100%, 40%);">+ bmAttributes 9</span><br><span style="color: hsl(120, 100%, 40%);">+ Will Detach</span><br><span style="color: hsl(120, 100%, 40%);">+ Manifestation Intolerant</span><br><span style="color: hsl(120, 100%, 40%);">+ Upload Unsupported</span><br><span style="color: hsl(120, 100%, 40%);">+ Download Supported</span><br><span style="color: hsl(120, 100%, 40%);">+ wDetachTimeout 0 milliseconds</span><br><span style="color: hsl(120, 100%, 40%);">+ wTransferSize 512 bytes</span><br><span style="color: hsl(120, 100%, 40%);">+ bcdDFUVersion 1.10</span><br><span style="color: hsl(120, 100%, 40%);">+Device Status: 0x0000</span><br><span style="color: hsl(120, 100%, 40%);">+ (Bus Powered)</span><br><span style="color: hsl(120, 100%, 40%);">+resetting target</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span>diff --git a/tests/sysmo-octsim/04_check_dfu_lsusb.sh b/tests/sysmo-octsim/04_check_dfu_lsusb.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..eef2246</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/04_check_dfu_lsusb.sh</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+./ctl_reset_to_dfu.sh</span><br><span style="color: hsl(120, 100%, 40%);">+lsusb -d 1d50:6141 -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"</span><br><span style="color: hsl(120, 100%, 40%);">+./ctl_reset_target.sh</span><br><span>diff --git a/tests/sysmo-octsim/README b/tests/sysmo-octsim/README</span><br><span>new file mode 100644</span><br><span>index 0000000..b3ac561</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/README</span><br><span>@@ -0,0 +1,4 @@</span><br><span style="color: hsl(120, 100%, 40%);">+This testsuite assumes you have installed the following utilities:</span><br><span style="color: hsl(120, 100%, 40%);">+- lsusb</span><br><span style="color: hsl(120, 100%, 40%);">+- dfu-util</span><br><span style="color: hsl(120, 100%, 40%);">+- wget</span><br><span>diff --git a/tests/sysmo-octsim/ctl_reset_target.sh b/tests/sysmo-octsim/ctl_reset_target.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..6eed990</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/ctl_reset_target.sh</span><br><span>@@ -0,0 +1,17 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#usb_rly08 serial</span><br><span style="color: hsl(120, 100%, 40%);">+USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#usb_rly08</span><br><span style="color: hsl(120, 100%, 40%);">+# relay1 = usbpower</span><br><span style="color: hsl(120, 100%, 40%);">+# relay2 = dfu-btn</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#12 off</span><br><span style="color: hsl(120, 100%, 40%);">+echo "resetting target"</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "op" > $USB_RELAY</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+# 1 on</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "e" > $USB_RELAY</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+echo "done"</span><br><span>diff --git a/tests/sysmo-octsim/ctl_reset_to_dfu.sh b/tests/sysmo-octsim/ctl_reset_to_dfu.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..969ca0c</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/ctl_reset_to_dfu.sh</span><br><span>@@ -0,0 +1,23 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#usb_rly08 serial</span><br><span style="color: hsl(120, 100%, 40%);">+USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#usb_rly08</span><br><span style="color: hsl(120, 100%, 40%);">+# relay1 = usbpower</span><br><span style="color: hsl(120, 100%, 40%);">+# relay2 = dfu-btn</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo "resetting target to dfu"</span><br><span style="color: hsl(120, 100%, 40%);">+#12 off</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "op" > $USB_RELAY</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+# 2 on</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "f" > $USB_RELAY</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+# 1 on</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "e" > $USB_RELAY</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+# 2 off</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "p" > $USB_RELAY</span><br><span style="color: hsl(120, 100%, 40%);">+sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+echo "done"</span><br><span>diff --git a/tests/sysmo-octsim/fetch_image.sh b/tests/sysmo-octsim/fetch_image.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..c0a4f8f</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/fetch_image.sh</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo "fetch image"</span><br><span style="color: hsl(120, 100%, 40%);">+wget -O dl/sysmoOCTSIM-latest.bin http://ftp.osmocom.org/binaries/osmo-ccid-firmware/latest/sysmoOCTSIM.bin -nv</span><br><span style="color: hsl(120, 100%, 40%);">+echo "done"</span><br><span>diff --git a/tests/sysmo-octsim/flash_octsim_dfu.sh b/tests/sysmo-octsim/flash_octsim_dfu.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..5b9c19a</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/flash_octsim_dfu.sh</span><br><span>@@ -0,0 +1,3 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+dfu-util --device 1d50:6141 --alt 0 --reset --download dl/sysmoOCTSIM-latest.bin 2>/dev/null |grep -v "Download\t"|grep -v "\["</span><br><span>diff --git a/tests/sysmo-octsim/get_installed_version.sh b/tests/sysmo-octsim/get_installed_version.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..be61865</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/get_installed_version.sh</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo -n "fw version: " 1>&2</span><br><span style="color: hsl(120, 100%, 40%);">+lsusb -d 1d50:6141 -v 2>/dev/null | grep iProduct|awk '{}{print $4}' 1>&2</span><br><span>diff --git a/tests/sysmo-octsim/prepare b/tests/sysmo-octsim/prepare</span><br><span>new file mode 100755</span><br><span>index 0000000..bb95e40</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/prepare</span><br><span>@@ -0,0 +1,8 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+. ./test-data</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo "================ PREPARING TEST RIG ================"</span><br><span style="color: hsl(120, 100%, 40%);">+./ctl_reset_target.sh</span><br><span style="color: hsl(120, 100%, 40%);">+echo "================ TEST RIG PREPARED ================="</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span>diff --git a/tests/sysmo-octsim/regen b/tests/sysmo-octsim/regen</span><br><span>new file mode 100755</span><br><span>index 0000000..7ed1fab</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/regen</span><br><span>@@ -0,0 +1,11 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Regenerating test output..."</span><br><span style="color: hsl(120, 100%, 40%);">+./prepare</span><br><span style="color: hsl(120, 100%, 40%);">+./01_check_rig.sh > ./01_check_rig.out</span><br><span style="color: hsl(120, 100%, 40%);">+./02_flash_dfu.sh > ./02_flash_dfu.out</span><br><span style="color: hsl(120, 100%, 40%);">+./03_check_lsusb.sh > ./03_check_lsusb.out</span><br><span style="color: hsl(120, 100%, 40%);">+./04_check_dfu_lsusb.sh > ./04_check_dfu_lsusb.out</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Reference output regenerated!"</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/sysmo-octsim/run-tests b/tests/sysmo-octsim/run-tests</span><br><span>new file mode 100755</span><br><span>index 0000000..b67c425</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/run-tests</span><br><span>@@ -0,0 +1,39 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# default: execute all tests</span><br><span style="color: hsl(120, 100%, 40%);">+TESTS="01_check_rig.sh 02_flash_dfu.sh 03_check_lsusb.sh 04_check_dfu_lsusb.sh"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# if command line specifies some specific tests, execute only those</span><br><span style="color: hsl(120, 100%, 40%);">+if [ $# -ge 1 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+ TESTS=$*</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+TMP=`tempfile`</span><br><span style="color: hsl(120, 100%, 40%);">+NUM_FAIL=0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# prepare test card</span><br><span style="color: hsl(120, 100%, 40%);">+./prepare</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+for T in $TESTS; do</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "==> Executing Testcase $T"</span><br><span style="color: hsl(120, 100%, 40%);">+ EXPOUT=${T%%.sh}.out</span><br><span style="color: hsl(120, 100%, 40%);">+ rm $TMP</span><br><span style="color: hsl(120, 100%, 40%);">+ ./$T > $TMP</span><br><span style="color: hsl(120, 100%, 40%);">+ diff -u $EXPOUT $TMP</span><br><span style="color: hsl(120, 100%, 40%);">+ if [ $? -eq 0 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "Test $T passed"</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "Test $T FAILED!"</span><br><span style="color: hsl(120, 100%, 40%);">+ NUM_FAIL=$((NUM_FAIL+1))</span><br><span style="color: hsl(120, 100%, 40%);">+ fi</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo</span><br><span style="color: hsl(120, 100%, 40%);">+echo</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Summary: $NUM_FAIL Tests failed"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+if [ $NUM_FAIL -gt 0 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+ exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+else</span><br><span style="color: hsl(120, 100%, 40%);">+ exit 0</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span>diff --git a/tests/sysmo-octsim/test-data b/tests/sysmo-octsim/test-data</span><br><span>new file mode 100644</span><br><span>index 0000000..e69de29</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/test-data</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17099">change 17099</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17099"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-ccid-firmware </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3ddd2b9afda0e15883603566259c6e58571d2bc8 </div>
<div style="display:none"> Gerrit-Change-Number: 17099 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: roh <jsteiger@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Hoernchen <ewild@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: roh <jsteiger@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>