[PATCH 25/42] test: Allow connecting to a running board

Andrejs Cainikovs andrejs.cainikovs at toradex.com
Tue Jun 25 17:21:13 CEST 2024


On Tue, Jun 25, 2024 at 08:14:17AM -0600, Tom Rini wrote:
> On Tue, Jun 25, 2024 at 01:31:19PM +0100, Simon Glass wrote:
> > Hi Andrejs,
> > 
> > On Tue, 25 Jun 2024 at 00:56, Andrejs Cainikovs
> > <andrejs.cainikovs at toradex.com> wrote:
> > >
> > > On Tue, Jun 11, 2024 at 02:01:39PM -0600, Simon Glass wrote:
> > > > Sometimes we know that the board is already running the right software,
> > > > so provide an option to allow running of tests directly, without first
> > > > resetting the board.
> > > >
> > > > This saves time when re-running a test where only the Python code is
> > > > changing.
> > > >
> > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > ---
> > > >
> > > >  test/py/conftest.py                   |  3 +++
> > > >  test/py/u_boot_console_base.py        | 14 ++++++++++----
> > > >  test/py/u_boot_console_exec_attach.py | 21 ++++++++++++---------
> > > >  3 files changed, 25 insertions(+), 13 deletions(-)
> > > >
> > > > diff --git a/test/py/conftest.py b/test/py/conftest.py
> > > > index fc9dd3a83f8..ca66b9d9e61 100644
> > > > --- a/test/py/conftest.py
> > > > +++ b/test/py/conftest.py
> > > > @@ -79,6 +79,8 @@ def pytest_addoption(parser):
> > > >      parser.addoption('--gdbserver', default=None,
> > > >          help='Run sandbox under gdbserver. The argument is the channel '+
> > > >          'over which gdbserver should communicate, e.g. localhost:1234')
> > > > +    parser.addoption('--no-prompt-wait', default=False, action='store_true',
> > > > +        help="Assume that U-Boot is ready and don't wait for a prompt")
> > > >
> > > >  def run_build(config, source_dir, build_dir, board_type, log):
> > > >      """run_build: Build U-Boot
> > > > @@ -238,6 +240,7 @@ def pytest_configure(config):
> > > >      ubconfig.board_type = board_type
> > > >      ubconfig.board_identity = board_identity
> > > >      ubconfig.gdbserver = gdbserver
> > > > +    ubconfig.no_prompt_wait = config.getoption('no_prompt_wait')
> > > >      ubconfig.dtb = build_dir + '/arch/sandbox/dts/test.dtb'
> > > >
> > > >      env_vars = (
> > > > diff --git a/test/py/u_boot_console_base.py b/test/py/u_boot_console_base.py
> > > > index e4f86f6af5b..a61eec31148 100644
> > > > --- a/test/py/u_boot_console_base.py
> > > > +++ b/test/py/u_boot_console_base.py
> > > > @@ -413,11 +413,17 @@ class ConsoleBase(object):
> > > >              if not self.config.gdbserver:
> > > >                  self.p.timeout = TIMEOUT_MS
> > > >              self.p.logfile_read = self.logstream
> > > > -            if expect_reset:
> > > > -                loop_num = 2
> > > > +            if self.config.no_prompt_wait:
> > > > +                # Send an empty command to set up the 'expect' logic. This has
> > > > +                # the side effect of ensuring that there was no partial command
> > > > +                # line entered
> > > > +                self.run_command(' ')
> > > >              else:
> > > > -                loop_num = 1
> > > > -            self.wait_for_boot_prompt(loop_num = loop_num)
> > > > +                if expect_reset:
> > > > +                    loop_num = 2
> > > > +                else:
> > > > +                    loop_num = 1
> > > > +                self.wait_for_boot_prompt(loop_num = loop_num)
> > >
> > > Hi Simon,
> > >
> > > I had a very bad day, so here you go:
> > >
> > > == ?
> > 
> > What does this mean? I hope you have a good day today.
> 
> I _think_ this one is that "self.wait_for_boot_prompt(loop_num =
> loop_num)" should be "self.wait_for_boot_prompt(loop_num == loop_num)" ?
> 
> -- 
> Tom

Yes, that was what I was thinking, but now after another look I see my
comment is wrong. Please disregard, again.



More information about the U-Boot mailing list