Change in osmo-ccid-firmware[master]: generic improvements for the testsbed

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Mon Mar 16 10:33:20 UTC 2020


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 )

Change subject: generic improvements for the testsbed
......................................................................

generic improvements for the testsbed

* fix run-tests so it can return != 0
* bail out if prepare fails
* add more sanity checks to prepare
* generalize usb-ids, paths
* add test for flashing from application mode
* add test reading simcards via pysim

Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121
---
M tests/run-tests
M tests/sysmo-octsim/01_check_rig.sh
M tests/sysmo-octsim/02_flash_dfu.sh
M tests/sysmo-octsim/03_check_lsusb.sh
M tests/sysmo-octsim/04_check_dfu_lsusb.sh
A tests/sysmo-octsim/05_flash_dfu_from_app.out
A tests/sysmo-octsim/05_flash_dfu_from_app.sh
A tests/sysmo-octsim/06_test_simcards.out
A tests/sysmo-octsim/06_test_simcards.sh
M tests/sysmo-octsim/README
A tests/sysmo-octsim/ctl_get_relay_sn.sh
M tests/sysmo-octsim/ctl_reset_target.sh
M tests/sysmo-octsim/ctl_reset_to_dfu.sh
M tests/sysmo-octsim/fetch_image.sh
M tests/sysmo-octsim/flash_octsim_dfu.sh
M tests/sysmo-octsim/get_installed_version.sh
M tests/sysmo-octsim/prepare
M tests/sysmo-octsim/regen
M tests/sysmo-octsim/run-tests
M tests/sysmo-octsim/test-data
20 files changed, 214 insertions(+), 26 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/tests/run-tests b/tests/run-tests
index bfc942d..0132010 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 echo "=========================================================="
 echo "            EXECUTING TESTS FOR SYSMO-OCTSIM"
 echo "=========================================================="
diff --git a/tests/sysmo-octsim/01_check_rig.sh b/tests/sysmo-octsim/01_check_rig.sh
index 3831fb6..11abdc8 100755
--- a/tests/sysmo-octsim/01_check_rig.sh
+++ b/tests/sysmo-octsim/01_check_rig.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 . ./test-data
 
-lsusb -d 04d8:ffee -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"
+lsusb -d $USBD_RELAY -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"
diff --git a/tests/sysmo-octsim/02_flash_dfu.sh b/tests/sysmo-octsim/02_flash_dfu.sh
index c51d5b1..a9b6573 100755
--- a/tests/sysmo-octsim/02_flash_dfu.sh
+++ b/tests/sysmo-octsim/02_flash_dfu.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 . ./test-data
 
 ./get_installed_version.sh
diff --git a/tests/sysmo-octsim/03_check_lsusb.sh b/tests/sysmo-octsim/03_check_lsusb.sh
index f12e7d4..cf8d8f4 100755
--- a/tests/sysmo-octsim/03_check_lsusb.sh
+++ b/tests/sysmo-octsim/03_check_lsusb.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 . ./test-data
 
-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"
+lsusb -d $USBD_TARGET -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"|sed -e "s/^.*iProduct.*2.*sysmoOCTSIM.*$/  iProduct                2 sysmoOCTSIM/g"
diff --git a/tests/sysmo-octsim/04_check_dfu_lsusb.sh b/tests/sysmo-octsim/04_check_dfu_lsusb.sh
index eef2246..fda72c4 100755
--- a/tests/sysmo-octsim/04_check_dfu_lsusb.sh
+++ b/tests/sysmo-octsim/04_check_dfu_lsusb.sh
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/sh -e
 . ./test-data
 
 ./ctl_reset_to_dfu.sh
-lsusb -d 1d50:6141 -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"
+lsusb -d $USBD_TARGET -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"
 ./ctl_reset_target.sh
diff --git a/tests/sysmo-octsim/05_flash_dfu_from_app.out b/tests/sysmo-octsim/05_flash_dfu_from_app.out
new file mode 100644
index 0000000..3da656a
--- /dev/null
+++ b/tests/sysmo-octsim/05_flash_dfu_from_app.out
@@ -0,0 +1,26 @@
+resetting target
+done
+dfu-util 0.9
+
+Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
+Copyright 2010-2016 Tormod Volden and Stefan Schmidt
+This program is Free Software and has ABSOLUTELY NO WARRANTY
+Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
+
+Opening DFU capable USB device...
+ID 1d50:6141
+Run-time device DFU version 0100
+Claiming USB DFU Runtime Interface...
+Determining device status: state = appIDLE, status = 0
+Device really in Runtime Mode, send DFU detach request...
+Device will detach and reattach...
+Opening DFU USB Device...
+Claiming USB DFU Interface...
+Setting Alternate Setting #0 ...
+Determining device status: state = dfuIDLE, status = 0
+dfuIDLE, continuing
+DFU mode device DFU version 0110
+Device returned transfer size 512
+Copying data from PC to DFU device
+Download done.
+Resetting USB to switch back to runtime mode
diff --git a/tests/sysmo-octsim/05_flash_dfu_from_app.sh b/tests/sysmo-octsim/05_flash_dfu_from_app.sh
new file mode 100755
index 0000000..667ca44
--- /dev/null
+++ b/tests/sysmo-octsim/05_flash_dfu_from_app.sh
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+. ./test-data
+
+./get_installed_version.sh
+#./fetch_image.sh
+./ctl_reset_target.sh
+./flash_octsim_dfu.sh
+sleep 1
+./get_installed_version.sh
diff --git a/tests/sysmo-octsim/06_test_simcards.out b/tests/sysmo-octsim/06_test_simcards.out
new file mode 100644
index 0000000..addd462
--- /dev/null
+++ b/tests/sysmo-octsim/06_test_simcards.out
@@ -0,0 +1,117 @@
+resetting target
+done
+card slot 0
+Using PC/SC reader (dev=0) interface
+Reading ...
+ICCID: 8988211000000090160
+IMSI: 001640000069444
+SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
+SPN: Not available
+Display HPLMN: False
+Display OPLMN: False
+PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+PLMNwAcT:
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+
+OPLMNwAcT:
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+
+HPLMNAcT:
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+
+ACC: 0040
+MSISDN: Can't read file -- Length of MSISDN (136 bytes) is out of range
+AD: 00000002
+Done !
+
+
+card slot 4
+Using PC/SC reader (dev=4) interface
+Reading ...
+ICCID: 8988211000000271083
+IMSI: 001640000069555
+SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
+SPN: Not available
+Display HPLMN: False
+Display OPLMN: False
+PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+PLMNwAcT:
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+
+OPLMNwAcT:
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+
+HPLMNAcT:
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+	ffffffffff # unused
+
+ACC: 0100
+MSISDN: Not available
+AD: 00000002
+Done !
+
diff --git a/tests/sysmo-octsim/06_test_simcards.sh b/tests/sysmo-octsim/06_test_simcards.sh
new file mode 100755
index 0000000..bd50aa8
--- /dev/null
+++ b/tests/sysmo-octsim/06_test_simcards.sh
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+. ./test-data
+
+./ctl_reset_target.sh
+sleep 1
+./get_installed_version.sh
+
+echo "card slot 0"
+$PYSIMREAD -p 0
+echo ""
+echo "card slot 4"
+$PYSIMREAD -p 4
+
diff --git a/tests/sysmo-octsim/README b/tests/sysmo-octsim/README
index b3ac561..162b876 100644
--- a/tests/sysmo-octsim/README
+++ b/tests/sysmo-octsim/README
@@ -2,3 +2,4 @@
 - lsusb
 - dfu-util
 - wget
+- pysim
diff --git a/tests/sysmo-octsim/ctl_get_relay_sn.sh b/tests/sysmo-octsim/ctl_get_relay_sn.sh
new file mode 100755
index 0000000..3566cf9
--- /dev/null
+++ b/tests/sysmo-octsim/ctl_get_relay_sn.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+. ./test-data
+
+#usb_rly08
+
+echo "getting relay SN"
+echo -n "8" > $USB_RELAY
diff --git a/tests/sysmo-octsim/ctl_reset_target.sh b/tests/sysmo-octsim/ctl_reset_target.sh
index 6eed990..6aafaa2 100755
--- a/tests/sysmo-octsim/ctl_reset_target.sh
+++ b/tests/sysmo-octsim/ctl_reset_target.sh
@@ -1,7 +1,5 @@
-#!/bin/sh
-
-#usb_rly08 serial
-USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00"
+#!/bin/sh -e
+. ./test-data
 
 #usb_rly08
 # relay1 = usbpower
diff --git a/tests/sysmo-octsim/ctl_reset_to_dfu.sh b/tests/sysmo-octsim/ctl_reset_to_dfu.sh
index 969ca0c..4807241 100755
--- a/tests/sysmo-octsim/ctl_reset_to_dfu.sh
+++ b/tests/sysmo-octsim/ctl_reset_to_dfu.sh
@@ -1,7 +1,5 @@
-#!/bin/sh
-
-#usb_rly08 serial
-USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00"
+#!/bin/sh -e
+. ./test-data
 
 #usb_rly08
 # relay1 = usbpower
diff --git a/tests/sysmo-octsim/fetch_image.sh b/tests/sysmo-octsim/fetch_image.sh
index c0a4f8f..119d611 100755
--- a/tests/sysmo-octsim/fetch_image.sh
+++ b/tests/sysmo-octsim/fetch_image.sh
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/sh -e
 . ./test-data
 
 echo "fetch image"
-wget -O dl/sysmoOCTSIM-latest.bin http://ftp.osmocom.org/binaries/osmo-ccid-firmware/latest/sysmoOCTSIM.bin -nv
+wget -O $DFU_IMAGE http://ftp.osmocom.org/binaries/osmo-ccid-firmware/latest/sysmoOCTSIM.bin -nv
 echo "done"
diff --git a/tests/sysmo-octsim/flash_octsim_dfu.sh b/tests/sysmo-octsim/flash_octsim_dfu.sh
index 5b9c19a..0e60c2e 100755
--- a/tests/sysmo-octsim/flash_octsim_dfu.sh
+++ b/tests/sysmo-octsim/flash_octsim_dfu.sh
@@ -1,3 +1,5 @@
-#!/bin/sh
+#!/bin/sh -e
+. ./test-data
 
-dfu-util --device 1d50:6141 --alt 0 --reset --download dl/sysmoOCTSIM-latest.bin 2>/dev/null |grep -v "Download\t"|grep -v "\["
+dfu-util --device $USBD_TARGET --alt 0 --reset --download $DFU_IMAGE 2>/dev/null |grep -v "Download\t"|grep -v "\["
+sleep 1
diff --git a/tests/sysmo-octsim/get_installed_version.sh b/tests/sysmo-octsim/get_installed_version.sh
index be61865..e12e3fa 100755
--- a/tests/sysmo-octsim/get_installed_version.sh
+++ b/tests/sysmo-octsim/get_installed_version.sh
@@ -1,5 +1,5 @@
-#!/bin/sh
+#!/bin/sh -e
 . ./test-data
 
-echo -n "fw version: " 1>&2
-lsusb -d 1d50:6141 -v 2>/dev/null | grep iProduct|awk '{}{print $4}' 1>&2
+echo -n "installed fw version: " 1>&2
+lsusb -d $USBD_TARGET -v 2>/dev/null | grep iProduct|awk '{}{print $4}' 1>&2
diff --git a/tests/sysmo-octsim/prepare b/tests/sysmo-octsim/prepare
index bb95e40..b19fbed 100755
--- a/tests/sysmo-octsim/prepare
+++ b/tests/sysmo-octsim/prepare
@@ -1,8 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
 
 . ./test-data
 
 echo "================ PREPARING TEST RIG ================"
+if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - symlink missing" ; exit 1; fi
+if [ ! -c "$USB_RELAY" ]; then echo "ERROR: usb relay device - not a char device" ; exit 1; fi
+if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - not writable" ; exit 1; fi
 ./ctl_reset_target.sh
 echo "================ TEST RIG PREPARED ================="
 echo ""
diff --git a/tests/sysmo-octsim/regen b/tests/sysmo-octsim/regen
index 7ed1fab..da1d8b1 100755
--- a/tests/sysmo-octsim/regen
+++ b/tests/sysmo-octsim/regen
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 
 echo "Regenerating test output..."
 ./prepare
@@ -6,6 +6,8 @@
 ./02_flash_dfu.sh > ./02_flash_dfu.out
 ./03_check_lsusb.sh > ./03_check_lsusb.out
 ./04_check_dfu_lsusb.sh > ./04_check_dfu_lsusb.out
+./05_flash_dfu_from_app.sh > ./05_flash_dfu_from_app.out
+./06_test_simcards.sh > ./06_test_simcards.out
 echo "Reference output regenerated!"
 echo ""
 
diff --git a/tests/sysmo-octsim/run-tests b/tests/sysmo-octsim/run-tests
index b67c425..f4d5162 100755
--- a/tests/sysmo-octsim/run-tests
+++ b/tests/sysmo-octsim/run-tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # default: execute all tests
-TESTS="01_check_rig.sh 02_flash_dfu.sh 03_check_lsusb.sh 04_check_dfu_lsusb.sh"
+TESTS="01_check_rig.sh 02_flash_dfu.sh 03_check_lsusb.sh 04_check_dfu_lsusb.sh 05_flash_dfu_from_app.sh 06_test_simcards.sh"
 
 # if command line specifies some specific tests, execute only those
 if [ $# -ge 1 ]; then
@@ -13,6 +13,12 @@
 
 # prepare test card
 ./prepare
+if [ $? -eq 0 ]; then
+	echo "Prepare done"
+else
+        echo "Prepare Test FAILED!"
+	exit 2
+fi
 
 for T in $TESTS; do
 	echo "==> Executing Testcase $T"
diff --git a/tests/sysmo-octsim/test-data b/tests/sysmo-octsim/test-data
index e69de29..9220aad 100644
--- a/tests/sysmo-octsim/test-data
+++ b/tests/sysmo-octsim/test-data
@@ -0,0 +1,6 @@
+#usb_rly08 serial
+USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00"
+USBD_RELAY="04d8:ffee"
+USBD_TARGET="1d50:6141"
+DFU_IMAGE="dl/sysmoOCTSIM-latest.bin"
+PYSIMREAD="/home/jenkins/dep/pysim/pySim-read.py"

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121
Gerrit-Change-Number: 17257
Gerrit-PatchSet: 2
Gerrit-Owner: roh <jsteiger at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: roh <jsteiger at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200316/0e9d0231/attachment.htm>


More information about the gerrit-log mailing list