[PATCH v5 17/20] test: Try to shut down the lab console gracefully
Simon Glass
sjg at chromium.org
Thu Aug 29 17:01:17 CEST 2024
Hi Neil,
On Thu, 29 Aug 2024 at 08:26, <neil.armstrong at linaro.org> wrote:
>
> On 29/08/2024 00:08, Simon Glass wrote:
> > Send the Labgrid quit characters to ask it to exit gracefully. This
> > typically allows it to power off the board being used.
>
> Sending those characters every time could collide with other CI systems,
> I don't think it's a good idea.
What systems are you thinking about and what sort of collision would occur?
What do you suggest instead?
>
> >
> > If that doesn't work, try the less graceful approach.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > (no changes since v1)
> >
> > test/py/u_boot_spawn.py | 17 +++++++++++++++--
> > 1 file changed, 15 insertions(+), 2 deletions(-)
> >
> > diff --git a/test/py/u_boot_spawn.py b/test/py/u_boot_spawn.py
> > index c0ff0813554..ec1fa465047 100644
> > --- a/test/py/u_boot_spawn.py
> > +++ b/test/py/u_boot_spawn.py
> > @@ -16,6 +16,9 @@ import termios
> > import time
> > import traceback
> >
> > +# Character to send (twice) to exit the terminal
> > +EXIT_CHAR = 0x1d # FS (Ctrl + ])
> > +
> > class Timeout(Exception):
> > """An exception sub-class that indicates that a timeout occurred."""
> >
> > @@ -304,15 +307,25 @@ class Spawn:
> > None.
> >
> > Returns:
> > - Nothing.
> > + str: Type of closure completed
> > """
> > + self.send(chr(EXIT_CHAR) * 2)
> >
> > + # Wait about 10 seconds for Labgrid to close and power off the board
> > + for _ in range(100):
> > + if not self.isalive():
> > + return 'normal'
> > + time.sleep(0.1)
> > +
> > + # That didn't work, so try closing the PTY
> > os.close(self.fd)
> > for _ in range(100):
> > if not self.isalive():
> > - break
> > + return 'break'
> > time.sleep(0.1)
> >
> > + return 'timeout'
> > +
> > def get_expect_output(self):
> > """Return the output read by expect()
> >
>
Regards,
Simon
More information about the U-Boot
mailing list