Hi Stephen, > From: Stephen Warren <[email protected]> > > Various misc enhancements to dfu_gadget_test.sh: > > * After every write (download), perform a write to a different file > with different data. This ensures that the DFU buffer's content is > replaced, so that if the read (upload) succeeds, we know that the > correct data was actually read from the storage device, rather than > simply being left over in the DFU buffer. This requires two alt > setting names to be passed to the script, and a dummy data file to > be generated by dfu_gadget_test_init.sh. > > * Fix the assumption that dfu_gadget_test.sh is run from the directory > that contains it, by cd'ing to that directory before invoking > ./dfu_gadget_test_init.sh. > > * Use $DIR$RCV_DIR consistently, rather than using plain $RCV_DIR in > some places. > > * Add 959, 961 test file sizes, to be consistent with having one > more than and one less than all the other "round" sizes 64, 128, and > 4096. > > * Remove references to $BKP_DIR from dfu_gadget_test_init.sh, since it > isn't used. >
Thanks for enhancements Stephen - a lot of issues addressed. However, I'm a bit puzzled, since this patch applies on top of patch which wasn't accepted (yet) to mainline. If Simon who had a minor comments agrees, I would opt for adding the initial commit with this script to ML: http://patchwork.ozlabs.org/patch/355283/ And on top apply this one. Afterwards other comments would be addressed as well. I would like to avoid sending many patches for base code which is still floating on the ML. > Signed-off-by: Stephen Warren <[email protected]> > --- > test/dfu/README | 31 +++++++++++++++++-------------- > test/dfu/dfu_gadget_test.sh | 13 +++++++++---- > test/dfu/dfu_gadget_test_init.sh | 9 +++------ > 3 files changed, 29 insertions(+), 24 deletions(-) > > diff --git a/test/dfu/README b/test/dfu/README > index f8f5a430807b..c817ad1ffeb6 100644 > --- a/test/dfu/README > +++ b/test/dfu/README > @@ -1,27 +1,30 @@ > DFU TEST CASE DESCRIPTION: > > The prerequisites for running this script are assured by > -dfu_gadget_test_init.sh script. > +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 > -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 > - > -where 11 is the mumber of alt setting corresponding to entry [1]. > + 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 8abd8e7de727..a33a71e47cfa 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 > "$COLOR_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 ea2f715b8834..1f3634f065f5 > 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 @@ 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" > +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 "$COLOR_GREEN OK $COLOR_DEFAULT \n" > -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

