[PATCH v5 01/20] test: Allow signaling that U-Boot is ready
Neil Armstrong
neil.armstrong at linaro.org
Thu Aug 29 16:34:25 CEST 2024
On 29/08/2024 16:22, neil.armstrong at linaro.org wrote:
> 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 ?
Sorry bad copy paste, I was meaning `Hit any key to stop autoboot: `
>
> 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