public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/3] tests: py: dfu: Add functionality to set different u-boot's dfu env variable
Date: Fri, 8 Apr 2016 10:28:06 -0600	[thread overview]
Message-ID: <5707DC16.1090009@wwwdotorg.org> (raw)
In-Reply-To: <1460130291-24223-2-git-send-email-l.majewski@samsung.com>

On 04/08/2016 09:44 AM, Lukasz Majewski wrote:
> By default (on almost all systems) the dfu env variable, which defines
> available alt settings, is named as "dfu_alt_info".
>
> However on some platforms (i.e. Odroid XU3), the 'dfu_alt_info' is concatenated
> from other variables - namely 'dfu_alt_boot' and 'dfu_alt_system' at run time
> (when one types 'dfu 0 mmc 0' for first time).
>
> 'dfu_alt_boot' describes alt settings which depend on boot medium - for example
> boot loader's LBA sectors which are different on eMMC and SD card because of e.g.
> MBR/GPT.
>
> 'dfu_alt_system' describes board agnostic alt settings - like rootfs, kernel.
> On such system we can only append/modify this env variable.
>
> Because of the above, we must have way to modify other than "dfu_ale_info"
> variable to perform tests.

Uggh. That's a pretty nasty user-experience since it prevents the user 
from controlling what happens. U-Boot should never over-ride what the 
user requests for alt_info, but rather simply provide help to the user 
allowing them to make use of the system-supplied information if they 
want. I.e. dfu_alt_boot should be set at boot time based on code. The 
user should then be free to define dfu_alt_info as they see fit; either 
hard-coded, or including the value of $dfu_alt_boot /if/ they want.

Anyway, I suppose since this feature exists, we have no choice but to 
support it.

> diff --git a/test/py/tests/test_dfu.py b/test/py/tests/test_dfu.py
> index df3b561..1ed6020 100644
> --- a/test/py/tests/test_dfu.py
> +++ b/test/py/tests/test_dfu.py
> @@ -44,6 +44,11 @@ env__dfu_configs = (
>           # configurations, but don't want to test every single transfer size
>           # on each, to avoid bloating the overall time taken by testing.
>           "test_sizes": (63, 64, 65),
> +        # Optional values.
> +        # Those values are necessary on boards like Odroid XU3, where
> +        # - dfu alt info env variable is concatenated from boot medium dependent
> +        #   (dfu_alt_boot) and user defined (dfu_alt_system) variables
> +        "alt_info_env_name": "dfu_alt_system",

I think the "- " and leading space should be dropped; this isn't a list 
of items. I'd suggest re-phrasing this as:

# The name of the environment variable that the the dfu command reads
# alt info from. If unspecified, this defaults to dfu_alt_info, which is
# valid for most systems. Some systems use a different variable name.
# One example is the Odroid XU3,  which automatically generates
# $dfu_alt_info, each time the dfu command is run, by concatenating
# $dfu_alt_boot and $dfu_alt_system.

>       },
>   )
>
> @@ -124,7 +129,12 @@ def test_dfu(u_boot_console, env__usb_dev_port, env__dfu_config):
>           u_boot_console.log.action(
>               'Starting long-running U-Boot dfu shell command')
>
> -        cmd = 'setenv dfu_alt_info "%s"' % env__dfu_config['alt_info']
> +        dfu_alt_info_env = "dfu_alt_info"
> +        if "alt_info_env_name" in env__dfu_config:
> +	        dfu_alt_info_env = env__dfu_config['alt_info_env_name']

That can be just:
dfu_alt_info_env = env__dfu_config.get('alt_info_env_name', \ 
'dfu_alt_info')

> +
> +        cmd = 'setenv "%s" "%s"' % (dfu_alt_info_env,
> +                                    env__dfu_config['alt_info'])
>           u_boot_console.run_command(cmd)
>
>           cmd = 'dfu 0 ' + env__dfu_config['cmd_params']

  reply	other threads:[~2016-04-08 16:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-08 15:44 [U-Boot] [PATCH 1/3] tests: py: dfu: Add global variables to store dfu alt numbers for test and dummy files Lukasz Majewski
2016-04-08 15:44 ` [U-Boot] [PATCH 2/3] tests: py: dfu: Add functionality to set different u-boot's dfu env variable Lukasz Majewski
2016-04-08 16:28   ` Stephen Warren [this message]
2016-04-08 20:10     ` Lukasz Majewski
2016-04-08 16:29   ` Stephen Warren
2016-04-08 20:11     ` Lukasz Majewski
2016-04-08 15:44 ` [U-Boot] [PATCH 3/3] tests: py: dfu: Provide functionality to set test and dummy files alt settings Lukasz Majewski
2016-04-08 16:34   ` Stephen Warren
2016-04-11  8:42     ` Lukasz Majewski
2016-04-11 17:05       ` Stephen Warren
2016-04-12  8:33         ` Lukasz Majewski
2016-04-19 15:51 ` [U-Boot] [PATCH v2 1/3] tests: py: dfu: Add global variables to store dfu alt numbers for test and dummy files Lukasz Majewski
2016-04-19 15:51   ` [U-Boot] [PATCH v2 2/3] tests: py: dfu: Add functionality to set different u-boot's dfu env variable Lukasz Majewski
2016-04-19 15:51   ` [U-Boot] [PATCH v2 3/3] tests: py: dfu: Provide functionality to set test and dummy files alt settings Lukasz Majewski
2016-04-19 16:25     ` Stephen Warren
2016-04-20  9:40       ` Lukasz Majewski
2016-04-20 15:55         ` Stephen Warren
2016-04-19 16:22   ` [U-Boot] [PATCH v2 1/3] tests: py: dfu: Add global variables to store dfu alt numbers for test and dummy files Stephen Warren
2016-04-19 16:30     ` Lukasz Majewski
2016-04-21 15:40 ` [U-Boot] [PATCH v3 1/3] tests: py: dfu: Add " Lukasz Majewski
2016-04-21 15:40   ` [U-Boot] [PATCH v3 2/3] tests: py: dfu: Add functionality to set different u-boot's dfu env variable Lukasz Majewski
2016-04-21 15:40   ` [U-Boot] [PATCH v3 3/3] tests: py: dfu: Provide functionality to set test and dummy files alt settings Lukasz Majewski
2016-04-21 16:10   ` [U-Boot] [PATCH v3 1/3] tests: py: dfu: Add variables to store dfu alt numbers for test and dummy files Stephen Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5707DC16.1090009@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox