<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>