[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