[PATCH v5 01/20] test: Allow signaling that U-Boot is ready

neil.armstrong at linaro.org neil.armstrong at linaro.org
Thu Aug 29 16:22:11 CEST 2024


On 29/08/2024 00:08, Simon Glass wrote:
> When Labgrid is used, it can get U-Boot ready for running tests. It
> prints a message when it has done so.
> 
> Add logic to detect this message and accept it.

So labgrid can boot and wait for `board_type & board_identity` itself right ?

It's cool, but if the boots fails for a reason, what would happen ?
Having the U-Boot pytest to parse the U-Boot boot log makes sure we can identify crash
and report them in the pytest log.

And this adds a labgrid-only string to parse, which could potentially
collide with pre-uboot or whatever log when not using labgrid.

Neil

> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> (no changes since v1)
> 
>   test/py/u_boot_console_base.py | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/test/py/u_boot_console_base.py b/test/py/u_boot_console_base.py
> index 76a550d45a1..882d04cd1e9 100644
> --- a/test/py/u_boot_console_base.py
> +++ b/test/py/u_boot_console_base.py
> @@ -22,6 +22,7 @@ pattern_stop_autoboot_prompt = re.compile('Hit any key to stop autoboot: ')
>   pattern_unknown_command = re.compile('Unknown command \'.*\' - try \'help\'')
>   pattern_error_notification = re.compile('## Error: ')
>   pattern_error_please_reset = re.compile('### ERROR ### Please RESET the board ###')
> +pattern_ready_prompt = re.compile('U-Boot is ready')
>   
>   PAT_ID = 0
>   PAT_RE = 1
> @@ -196,15 +197,15 @@ class ConsoleBase(object):
>                                       self.bad_pattern_ids[m - 1])
>               self.u_boot_version_string = self.p.after
>               while True:
> -                m = self.p.expect([self.prompt_compiled,
> +                m = self.p.expect([self.prompt_compiled, pattern_ready_prompt,
>                       pattern_stop_autoboot_prompt] + self.bad_patterns)
> -                if m == 0:
> +                if m == 0 or m == 1:
>                       break
> -                if m == 1:
> +                if m == 2:
>                       self.p.send(' ')
>                       continue
>                   raise Exception('Bad pattern found on console: ' +
> -                                self.bad_pattern_ids[m - 2])
> +                                self.bad_pattern_ids[m - 3])
>   
>           except Exception as ex:
>               self.log.error(str(ex))



More information about the U-Boot mailing list