public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] test:dfu: Add test script for testing DFU regression
@ 2014-05-22 10:43 Lukasz Majewski
  2014-05-24  0:51 ` Simon Glass
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Lukasz Majewski @ 2014-05-22 10:43 UTC (permalink / raw)
  To: u-boot

This commit adds test script for testing if any commit has introduced
regression to the DFU.

It uses md5 to test if sent and received file is correct.
The test detailed description is available at DESCRIPTION.TXT file.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
---
 test/dfu/DESCRIPTION.TXT    |   27 ++++++++++++++
 test/dfu/dfu_gadget_test.sh |   86 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+)
 create mode 100644 test/dfu/DESCRIPTION.TXT
 create mode 100755 test/dfu/dfu_gadget_test.sh

diff --git a/test/dfu/DESCRIPTION.TXT b/test/dfu/DESCRIPTION.TXT
new file mode 100644
index 0000000..48da06b
--- /dev/null
+++ b/test/dfu/DESCRIPTION.TXT
@@ -0,0 +1,27 @@
+DFU TEST CASE DESCRIPTION:
+
+For running test script one needs to create:
+./log and ./bkp
+
+One also need to generate with dd following files:
+
+dat_*
+
+(e.g. dat_127B.img  dat_128B.img  dat_129B.img  dat_33M.img  dat_4095B.img
+dat_4096B.img  dat_4097B.img  dat_63B.img  dat_64B.img  dat_65B.img
+dat_960.img  dat_97M.img)
+
+The size is only important (so if=/dev/urandom), especially corner cases of
+DFU EP0's size of packet (64B). This is very helpful for fixing UDC driver
+regressions.
+
+Moreover on a target device the "dfu_alt_info" env variable should be extended
+to have "dfu_test.bin fat 0 6;" \ entry [1].
+One can use fat, ext4 or any other supported file system.
+
+As a prerequisite one must also create proper partition with file system on it.
+
+Example usage:
+./dfu_gadget_test.sh 11
+
+where 11 is the mumber of alt setting corresponding to entry [1].
\ No newline at end of file
diff --git a/test/dfu/dfu_gadget_test.sh b/test/dfu/dfu_gadget_test.sh
new file mode 100755
index 0000000..ebde2ff
--- /dev/null
+++ b/test/dfu/dfu_gadget_test.sh
@@ -0,0 +1,86 @@
+#! /bin/bash
+set -e # any command return not equal to zero
+clear
+
+DIR=./
+SUFFIX=img
+RCV_DIR=rcv/
+LOG_FILE=./log/log-`date +%d-%m-%Y_%H-%M-%S`
+
+cleanup () {
+    rm -rf $RCV_DIR
+}
+
+die () {
+	printf "   \33[31m FAILED \33[0m \n"
+	cleanup
+	exit 1
+}
+
+calculate_md5sum () {
+    MD5SUM=`md5sum $1`
+    MD5SUM=`echo $MD5SUM | cut -d ' ' -f1`
+    echo "md5sum:"$MD5SUM
+}
+
+dfu_test_file () {
+    printf "\33[32m========================================================================================= \33[0m\n"
+    printf "File:\33[32m %s \33[0m\n" $1
+
+    # dfu-util -D $1 -a $TARGET_ALT_SETTING > /dev/null 2>&1
+    dfu-util -D $1 -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
+
+    echo -n "TX: "
+    calculate_md5sum $1
+
+    MD5_TX=$MD5SUM
+
+    N_FILE=$DIR$RCV_DIR${1:2}"_rcv"
+
+    # dfu-util -U $N_FILE -a $TARGET_ALT_SETTING > /dev/null 2>&1
+    dfu-util -U $N_FILE -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
+
+    echo -n "RX: "
+    calculate_md5sum $N_FILE
+    MD5_RX=$MD5SUM
+
+    if [ "$MD5_TX" == "$MD5_RX" ]
+	then
+	printf "   \33[32m -------> OK \33[0m \n"
+	else
+	printf "   \33[31m -------> FAILED \33[0m \n"
+	cleanup
+	exit 1
+    fi
+
+#    echo $N_FILE
+}
+
+printf "\33[32m========================================================================================= \33[0m\n"
+echo "DFU EP0 transmission test program"
+echo "Trouble shoot -> disable DBG (even the KERN_DEBUG) in the UDC driver"
+echo "@ -> TRATS # dfu mmc 0"
+mkdir -p $RCV_DIR
+touch $LOG_FILE
+
+if [ $# -eq 0 ]
+then
+	printf "   \33[31m Please pass alt setting number!!  \33[0m \n"
+	exit 0
+fi
+
+TARGET_ALT_SETTING=$1
+
+if [ -n "$2" ]
+then
+	dfu_test_file $2
+else
+	for file in $DIR*.$SUFFIX
+	do
+	    dfu_test_file $file
+	done
+fi
+
+cleanup
+
+exit 0
\ No newline at end of file
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-06-20  7:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-22 10:43 [U-Boot] [PATCH] test:dfu: Add test script for testing DFU regression Lukasz Majewski
2014-05-24  0:51 ` Simon Glass
2014-05-26  6:20   ` Lukasz Majewski
2014-05-29 15:58   ` Stephen Warren
2014-05-29 23:41     ` Simon Glass
2014-05-30  7:13       ` Lukasz Majewski
2014-06-03  9:54 ` [U-Boot] [PATCH v2] test:dfu: Add test scripts " Lukasz Majewski
2014-06-06 21:08   ` Simon Glass
2014-06-12  9:00     ` Lukasz Majewski
2014-06-12 13:34       ` Simon Glass
2014-06-17 10:09     ` Lukasz Majewski
2014-06-18  9:38 ` [U-Boot] [PATCH v3] " Lukasz Majewski
2014-06-20  7:48   ` Lukasz Majewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox