diff mbox

[U-Boot,v2,9/9] dfu:tests: Modify dfu_gadget_test.sh to accept USB device major:minor number

Message ID 1437811877-13764-10-git-send-email-l.majewski@majess.pl
State Superseded
Delegated to: Ɓukasz Majewski
Headers show

Commit Message

Lukasz Majewski July 25, 2015, 8:11 a.m. UTC
In the dfu-util it is possible to set major:minor number by unsing -d flag
(-d 0451:d022).
Such option is very handy when many DFU devices are connected to a single
host PC. This commit allows testing when above situation emerges.

Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
---
Changes for v2:
- New patch
---
 test/dfu/README             |  9 ++++++++-
 test/dfu/dfu_gadget_test.sh | 18 +++++++++++-------
 2 files changed, 19 insertions(+), 8 deletions(-)

Comments

Simon Glass Aug. 2, 2015, 10:30 p.m. UTC | #1
Hi Lukasz,

On 25 July 2015 at 02:11, Lukasz Majewski <l.majewski@majess.pl> wrote:
> In the dfu-util it is possible to set major:minor number by unsing -d flag

using

> (-d 0451:d022).
> Such option is very handy when many DFU devices are connected to a single
> host PC. This commit allows testing when above situation emerges.

Does this test cover the new tftp feature?

>
> Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
> ---
> Changes for v2:
> - New patch

Reviewed-by: Simon Glass <sjg@chromium.org>

> ---
>  test/dfu/README             |  9 ++++++++-
>  test/dfu/dfu_gadget_test.sh | 18 +++++++++++-------
>  2 files changed, 19 insertions(+), 8 deletions(-)
>
> diff --git a/test/dfu/README b/test/dfu/README
> index 5176aba..8925a91 100644
> --- a/test/dfu/README
> +++ b/test/dfu/README
> @@ -26,12 +26,19 @@ Example usage:
>     setenv dfu_alt_info dfu_test.bin fat 0 6\;dfudummy.bin fat 0 6
>     dfu 0 mmc 0
>  2. On the host:
> -   test/dfu/dfu_gadget_test.sh X Y  [test file name]
> +   test/dfu/dfu_gadget_test.sh X Y [test file name] [usb device major:minor]
>     e.g. test/dfu/dfu_gadget_test.sh 0 1
>     or
>     e.g. test/dfu/dfu_gadget_test.sh 0 1 ./dat_960.img
> +   or
> +   e.g. test/dfu/dfu_gadget_test.sh 0 1 0451:d022
> +   or
> +   e.g. test/dfu/dfu_gadget_test.sh 0 1 ./dat_960.img 0451:d022
>
>  ... where X and Y are dfu_test.bin's and dfudummy.bin's alt setting numbers.
>  They can be obtained from dfu-util -l or $dfu_alt_info.
>  It is also possible to pass optional [test file name] to force the script to
>  test one particular file.
> +If many DFU devices are connected, it is necessary to specify USB device major
> +and minor numbers (0451:d022). One can get them by running "lsusb" command on
> +a host PC.
> diff --git a/test/dfu/dfu_gadget_test.sh b/test/dfu/dfu_gadget_test.sh
> index 2f5b7db..9c79422 100755
> --- a/test/dfu/dfu_gadget_test.sh
> +++ b/test/dfu/dfu_gadget_test.sh
> @@ -45,18 +45,18 @@ dfu_test_file () {
>      printf "$COLOUR_GREEN ========================================================================================= $COLOUR_DEFAULT\n"
>      printf "File:$COLOUR_GREEN %s $COLOUR_DEFAULT\n" $1
>
> -    dfu-util -D $1 -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
> +    dfu-util $USB_DEV -D $1 -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
>
>      echo -n "TX: "
>      calculate_md5sum $1
>
>      MD5_TX=$MD5SUM
>
> -    dfu-util -D ${DIR}/dfudummy.bin -a $TARGET_ALT_SETTING_B >> $LOG_FILE 2>&1 || die $?
> +    dfu-util $USB_DEV -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 $?
> +    dfu-util $USB_DEV -U $N_FILE -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
>
>      echo -n "RX: "
>      calculate_md5sum $N_FILE
> @@ -89,13 +89,17 @@ fi
>  TARGET_ALT_SETTING=$1
>  TARGET_ALT_SETTING_B=$2
>
> -if [ -n "$3" ]
> +file=$3
> +[[ $3 == *':'* ]] && USB_DEV="-d $3" && file=""
> +[ $# -eq 4 ] && USB_DEV="-d $4"
> +
> +if [ -n "$file" ]
>  then
> -       dfu_test_file $3
> +       dfu_test_file $file
>  else
> -       for file in $DIR*.$SUFFIX
> +       for f in $DIR*.$SUFFIX
>         do
> -           dfu_test_file $file
> +           dfu_test_file $f
>         done
>  fi
>
> --
> 2.1.4
>

Regards,
Simon
Joe Hershberger Aug. 7, 2015, 9:32 p.m. UTC | #2
Hi Lukasz,

On Sat, Jul 25, 2015 at 3:11 AM, Lukasz Majewski <l.majewski@majess.pl> wrote:
> In the dfu-util it is possible to set major:minor number by unsing -d flag
> (-d 0451:d022).
> Such option is very handy when many DFU devices are connected to a single
> host PC. This commit allows testing when above situation emerges.
>
> Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
> ---
> Changes for v2:
> - New patch
> ---
>  test/dfu/README             |  9 ++++++++-
>  test/dfu/dfu_gadget_test.sh | 18 +++++++++++-------
>  2 files changed, 19 insertions(+), 8 deletions(-)

This seems unrelated to the series (aside from generally also being
DFU).  Probably just send it separately. What about a test for TFTP?

Thanks,
-Joe
diff mbox

Patch

diff --git a/test/dfu/README b/test/dfu/README
index 5176aba..8925a91 100644
--- a/test/dfu/README
+++ b/test/dfu/README
@@ -26,12 +26,19 @@  Example usage:
    setenv dfu_alt_info dfu_test.bin fat 0 6\;dfudummy.bin fat 0 6
    dfu 0 mmc 0
 2. On the host:
-   test/dfu/dfu_gadget_test.sh X Y  [test file name]
+   test/dfu/dfu_gadget_test.sh X Y [test file name] [usb device major:minor]
    e.g. test/dfu/dfu_gadget_test.sh 0 1
    or
    e.g. test/dfu/dfu_gadget_test.sh 0 1 ./dat_960.img
+   or
+   e.g. test/dfu/dfu_gadget_test.sh 0 1 0451:d022
+   or
+   e.g. test/dfu/dfu_gadget_test.sh 0 1 ./dat_960.img 0451:d022
 
 ... where X and Y are dfu_test.bin's and dfudummy.bin's alt setting numbers.
 They can be obtained from dfu-util -l or $dfu_alt_info.
 It is also possible to pass optional [test file name] to force the script to
 test one particular file.
+If many DFU devices are connected, it is necessary to specify USB device major
+and minor numbers (0451:d022). One can get them by running "lsusb" command on
+a host PC.
diff --git a/test/dfu/dfu_gadget_test.sh b/test/dfu/dfu_gadget_test.sh
index 2f5b7db..9c79422 100755
--- a/test/dfu/dfu_gadget_test.sh
+++ b/test/dfu/dfu_gadget_test.sh
@@ -45,18 +45,18 @@  dfu_test_file () {
     printf "$COLOUR_GREEN ========================================================================================= $COLOUR_DEFAULT\n"
     printf "File:$COLOUR_GREEN %s $COLOUR_DEFAULT\n" $1
 
-    dfu-util -D $1 -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
+    dfu-util $USB_DEV -D $1 -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
 
     echo -n "TX: "
     calculate_md5sum $1
 
     MD5_TX=$MD5SUM
 
-    dfu-util -D ${DIR}/dfudummy.bin -a $TARGET_ALT_SETTING_B >> $LOG_FILE 2>&1 || die $?
+    dfu-util $USB_DEV -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 $?
+    dfu-util $USB_DEV -U $N_FILE -a $TARGET_ALT_SETTING >> $LOG_FILE 2>&1 || die $?
 
     echo -n "RX: "
     calculate_md5sum $N_FILE
@@ -89,13 +89,17 @@  fi
 TARGET_ALT_SETTING=$1
 TARGET_ALT_SETTING_B=$2
 
-if [ -n "$3" ]
+file=$3
+[[ $3 == *':'* ]] && USB_DEV="-d $3" && file=""
+[ $# -eq 4 ] && USB_DEV="-d $4"
+
+if [ -n "$file" ]
 then
-	dfu_test_file $3
+	dfu_test_file $file
 else
-	for file in $DIR*.$SUFFIX
+	for f in $DIR*.$SUFFIX
 	do
-	    dfu_test_file $file
+	    dfu_test_file $f
 	done
 fi