[PATCH v4 4/9] dts: add ssh pexpect library
Stanislaw Kardach
kda at semihalf.com
Tue Sep 13 16:59:09 CEST 2022
On Fri, Jul 29, 2022 at 10:55:45AM +0000, Juraj Linkeš wrote:
<snip>
> + self.session = pxssh.pxssh(encoding="utf-8")
> + self.session.login(
> + self.node,
> + self.username,
> + self.password,
> + original_prompt="[$#>]",
> + password_regex=r"(?i)(?:password:)|(?:passphrase for key)|(?i)(password for .+:)",
> + )
> + self.logger.info(f"Connection to {self.node} succeeded")
> + self.send_expect("stty -echo", "#")
> + self.send_expect("stty columns 1000", "#")
First of all, thanks for those changes! Having DTS inside DPDK makes
test synchronization a lot easier. I'm happy to say (unsurprisingly)
that it works with my RISC-V HiFive Unmatched board like a charm.
Though there is a small issue with the lines above. They assume "#" as
the prompt sign, even though original_prompt was set to "[$#>]". This
touches on two problems:
1. # is usually a root prompt - is DTS assumed to be run with root
privileges? DPDK may (in theory) run without them with some permission
adjustment (hugetlb, VFIO container, etc.). If we assume DTS needs
root access, this has to be both documented and validated before
running the whole suite. Otherwise it'll be hard to debug.
2. Different shells use different prompts on different distros. Hence
perhaps there should be a regex here (same as with original_prompt)
and there could be a conf.yaml option to modify it on a per-host
basis?
--
Best Regards,
Stanislaw Kardach
More information about the dev
mailing list