aboutsummaryrefslogtreecommitdiff
path: root/test/dfu
diff options
context:
space:
mode:
Diffstat (limited to 'test/dfu')
-rw-r--r--test/dfu/README34
-rwxr-xr-xtest/dfu/dfu_gadget_test.sh13
-rwxr-xr-xtest/dfu/dfu_gadget_test_init.sh9
3 files changed, 30 insertions, 26 deletions
diff --git a/test/dfu/README b/test/dfu/README
index f8c1a74..4ea0b3b 100644
--- a/test/dfu/README
+++ b/test/dfu/README
@@ -1,30 +1,32 @@
DFU TEST CASE DESCRIPTION:
-The prerequisites for running this script are assured by dfu_gadget_test_init.sh.
+The prerequisites for running this script are assured by
+dfu_gadget_test_init.sh, which is automatically invoked by dfu_gadget_test.sh.
In this file user is able to generate their own set of test files by altering
the default set of TEST_FILES_SIZES variable.
The dfu_gadget_test_init.sh would generate test images only if they are not
already generated.
-Moreover, on a target device the "dfu_alt_info" env variable should be extended
-to have "dfu_test.bin fat 0 6;" \ entry ([1]). For reference please consult the
-config file for TRATS/TRATS2 devices (./include/configs/trats{2}.h)
+On the target device, environment variable "dfu_alt_info" must contain at
+least:
-One can use fat, ext4 or any other supported file system, which can be
-created in a convenient way with exporting partitions via UMS (ums 0 mmc 0)
-and using standard tools on host (like mkfs.ext4).
+ dfu_test.bin fat 0 6;dfudummy.bin fat 0 6
+
+Depending on your device, you may need to replace "fat" with
+"ext4", and "6" with the relevant partition number. For reference please
+consult the config file for TRATS/TRATS2 devices
+(../../include/configs/trats{2}.h)
+
+One can use fat, ext4 or any other supported file system supported by U-Boot.
+These can be created by exporting storage devices via UMS (ums 0 mmc 0) and
+using standard tools on host (like mkfs.ext4).
Example usage:
1. On the target:
- env default -a
+ setenv dfu_alt_info dfu_test.bin fat 0 6\;dfudummy.bin fat 0 6
dfu 0 mmc 0
2. On the host:
- ./dfu_gadget_test.sh 11 [test_file]
-
-where 11 is the mumber of alt setting corresponding to entry [1] and [test_file]
-is an optional parameter, with which one can explicitly indicate the test file
-to be used.
+ test/dfu/dfu_gadget_test.sh dfu_test.bin dfudummy.bin
-The number of the alt setting entry can be obtained with dfu-util -l command.
-In its output one should look for the 'name="dfu_test1.bin"' and corresponding
-alt=11.
+... where dfu_test.bin and dfudummy.bin are the names of the alt settings from
+$dfu_alt_info.
diff --git a/test/dfu/dfu_gadget_test.sh b/test/dfu/dfu_gadget_test.sh
index 4a848c8..c5c5f1d 100755
--- a/test/dfu/dfu_gadget_test.sh
+++ b/test/dfu/dfu_gadget_test.sh
@@ -1,4 +1,5 @@
#! /bin/bash
+
set -e # any command return if not equal to zero
clear
@@ -11,10 +12,11 @@ SUFFIX=img
RCV_DIR=rcv/
LOG_FILE=./log/log-`date +%d-%m-%Y_%H-%M-%S`
+cd `dirname $0`
./dfu_gadget_test_init.sh
cleanup () {
- rm -rf $RCV_DIR
+ rm -rf $DIR$RCV_DIR
}
die () {
@@ -40,6 +42,8 @@ dfu_test_file () {
MD5_TX=$MD5SUM
+ dfu-util -D ${DIR}/dfudummy.bin -a $TARGET_ALT_SETTING_B >> $LOG_FILE 2>&1 || die $?
+
N_FILE=$DIR$RCV_DIR${1:2}"_rcv"
dfu-util -U $N_FILE -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
@@ -62,7 +66,7 @@ printf "$COLOUR_GREEN===========================================================
echo "DFU EP0 transmission test program"
echo "Trouble shoot -> disable DBG (even the KERN_DEBUG) in the UDC driver"
echo "@ -> TRATS2 # dfu 0 mmc 0"
-mkdir -p $RCV_DIR
+mkdir -p $DIR$RCV_DIR
touch $LOG_FILE
if [ $# -eq 0 ]
@@ -72,10 +76,11 @@ then
fi
TARGET_ALT_SETTING=$1
+TARGET_ALT_SETTING_B=$2
-if [ -n "$2" ]
+if [ -n "$3" ]
then
- dfu_test_file $2
+ dfu_test_file $3
else
for file in $DIR*.$SUFFIX
do
diff --git a/test/dfu/dfu_gadget_test_init.sh b/test/dfu/dfu_gadget_test_init.sh
index b319ed0..fb54ad8 100755
--- a/test/dfu/dfu_gadget_test_init.sh
+++ b/test/dfu/dfu_gadget_test_init.sh
@@ -1,4 +1,5 @@
#! /bin/bash
+
set -e # any command return if not equal to zero
clear
@@ -7,9 +8,8 @@ COLOUR_GREEN="\33[32m"
COLOUR_DEFAULT="\33[0m"
LOG_DIR="./log"
-BKP_DIR="./bkp"
-TEST_FILES_SIZES="127 128 129 8M 4095 4096 4097 63 64 65 960"
+TEST_FILES_SIZES="63 64 65 127 128 129 4095 4096 4097 959 960 961 8M"
printf "Init script for generating data necessary for DFU test script"
@@ -17,10 +17,6 @@ if [ ! -d $LOG_DIR ]; then
`mkdir $LOG_DIR`
fi
-if [ ! -d $BKP_DIR ]; then
- `mkdir $BKP_DIR`
-fi
-
for size in $TEST_FILES_SIZES
do
FILE="./dat_$size.img"
@@ -28,6 +24,7 @@ do
dd if=/dev/urandom of="./dat_$size.img" bs=$size count=1 > /dev/null 2>&1 || exit $?
fi
done
+dd if=/dev/urandom of="./dfudummy.bin" bs=1024 count=1 > /dev/null 2>&1 || exit $?
printf "$COLOUR_GREEN OK $COLOUR_DEFAULT \n"