<p>roh has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17099">View Change</a></p><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/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/prepare<br>A tests/sysmo-octsim/regen<br>A tests/sysmo-octsim/run-tests<br>A tests/sysmo-octsim/test-data<br>18 files changed, 312 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/99/17099/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><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..bee32f3</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/02_flash_dfu.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%);">+./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>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..e69de29</span><br><span>--- /dev/null</span><br><span>+++ b/tests/sysmo-octsim/03_check_lsusb.out</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..42ff134</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"</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/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: 1 </div>
<div style="display:none"> Gerrit-Owner: roh <jsteiger@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>