Hi Simon, > Hi Lukasz, > > On 3 June 2014 03:54, Lukasz Majewski <l.majew...@samsung.com> wrote: > > This commit adds test scripts for testing if any commit has > > introduced regression to the DFU subsystem. > > > > It uses md5 to test if sent and received file is correct. > > The test detailed description is available at README file. > > > > Signed-off-by: Lukasz Majewski <l.majew...@samsung.com> > > --- > > Changes for v2: > > - Rename DESCRIPTION.TXT to README > > - Introduction of COLOUR_* variables to hold code necessary to > > change console color > > - File to create initial setup - dfu_gadget_test_init.sh has been > > added > > - Test files are now automatically generated with the above script > > Looks good, but a few comments below. > > > --- > > test/dfu/README | 27 ++++++++++++ > > test/dfu/dfu_gadget_test.sh | 88 > > ++++++++++++++++++++++++++++++++++++++ > > test/dfu/dfu_gadget_test_init.sh | 34 +++++++++++++++ 3 files > > changed, 149 insertions(+) create mode 100644 test/dfu/README > > create mode 100755 test/dfu/dfu_gadget_test.sh > > create mode 100755 test/dfu/dfu_gadget_test_init.sh > > > > diff --git a/test/dfu/README b/test/dfu/README > > new file mode 100644 > > index 0000000..f8f5a43 > > --- /dev/null > > +++ b/test/dfu/README > > @@ -0,0 +1,27 @@ > > +DFU TEST CASE DESCRIPTION: > > + > > +The prerequisites for running this script are assured by > > +dfu_gadget_test_init.sh script. > > +In this file user is able to generate their own set of test files > > by altering +the default set of TEST_FILES_SIZES variable > > + > > +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) + > > +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). + > > +Example usage: > > +1. On the target: > > + env default -a > > + dfu 0 mmc 0 > > +2. On the host: > > + ./dfu_gadget_test.sh 11 > > + > > +where 11 is the mumber of alt setting corresponding to entry [1]. > > + > > +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. > > diff --git a/test/dfu/dfu_gadget_test.sh > > b/test/dfu/dfu_gadget_test.sh new file mode 100755 > > index 0000000..8abd8e7 > > --- /dev/null > > +++ b/test/dfu/dfu_gadget_test.sh > > @@ -0,0 +1,88 @@ > > +#! /bin/bash > > +set -e # any command return if not equal to zero > > +clear > > + > > +COLOR_RED="\33[31m" > > +COLOR_GREEN="\33[32m" > > +COLOR_DEFAULT="\33[0m" > > Which side of the pond are you? :-) I think it should be COLOUR in > U-Boot.
This script is run on the host. Could you be more specific. > > > + > > +DIR=./ > > +SUFFIX=img > > +RCV_DIR=rcv/ > > +LOG_FILE=./log/log-`date +%d-%m-%Y_%H-%M-%S` > > + > > +./dfu_gadget_test_init.sh > > + > > +cleanup () { > > + rm -rf $RCV_DIR > > +} > > + > > +die () { > > + printf " $COLOR_RED FAILED $COLOR_DEFAULT \n" > > + cleanup > > + exit 1 > > +} > > + > > +calculate_md5sum () { > > + MD5SUM=`md5sum $1` > > + MD5SUM=`echo $MD5SUM | cut -d ' ' -f1` > > + echo "md5sum:"$MD5SUM > > +} > > + > > +dfu_test_file () { > > + printf "$COLOR_GREEN > > ========================================================================================= > > $COLOR_DEFAULT\n" > > + printf "File:$COLOR_GREEN %s $COLOR_DEFAULT\n" $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 >> $LOG_FILE 2>&1 > > || die $? + > > + echo -n "RX: " > > + calculate_md5sum $N_FILE > > + MD5_RX=$MD5SUM > > + > > + if [ "$MD5_TX" == "$MD5_RX" ]; then > > + printf " $COLOR_GREEN -------> OK $COLOR_DEFAULT \n" > > + else > > + printf " $COLOR_RED -------> FAILED $COLOR_DEFAULT \n" > > + cleanup > > + exit 1 > > + fi > > + > > +} > > + > > +printf > > "$COLOR_GREEN========================================================================================= > > $COLOR_DEFAULT\n" +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 > > +touch $LOG_FILE > > + > > +if [ $# -eq 0 ] > > +then > > + printf " $COLOR_RED Please pass alt setting number!! > > $COLOR_DEFAULT \n" > > + exit 0 > > +fi > > + > > +TARGET_ALT_SETTING=$1 > > + > > +if [ -n "$2" ] > > +then > > + dfu_test_file $2 > > Where is $2 mentioned? in your example usage? I think that I might overlooked it. > > > +else > > + for file in $DIR*.$SUFFIX > > + do > > + dfu_test_file $file > > + done > > +fi > > + > > +cleanup > > + > > +exit 0 > > diff --git a/test/dfu/dfu_gadget_test_init.sh > > b/test/dfu/dfu_gadget_test_init.sh new file mode 100755 > > index 0000000..ea2f715 > > --- /dev/null > > +++ b/test/dfu/dfu_gadget_test_init.sh > > Should this script be run by the main script in the default case? You > could have a flag to force it to use existing files. > > > @@ -0,0 +1,34 @@ > > +#! /bin/bash > > +set -e # any command return if not equal to zero > > +clear > > + > > +COLOR_RED="\33[31m" > > +COLOR_GREEN="\33[32m" > > +COLOR_DEFAULT="\33[0m" > > + > > +LOG_DIR="./log" > > +BKP_DIR="./bkp" > > + > > +TEST_FILES_SIZES="127 128 129 8M 4095 4096 4097 63 64 65 960" > > + > > +printf "Init script for generating data necessary for DFU test > > script" + > > +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" > > + if [ ! -f $FILE ]; then > > + dd if=/dev/urandom of="./dat_$size.img" bs=$size count=1 > > > /dev/null 2>&1 || exit $? > > + fi > > +done > > + > > +printf "$COLOR_GREEN OK $COLOR_DEFAULT \n" > > + > > +exit 0 > > -- > > 1.7.10.4 > > > > Regards, > Simon -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot