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 <s...@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))

Reply via email to