[Lldb-commits] [PATCH] D42656: [testsuite] Remove flakey test relying on `pexpect`

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Jan 29 15:15:58 PST 2018

jingham added a comment.

So that sounds like a pexpect problem.  We have seen that pexpect based tests tend to be flakey, and particular will time out on loaded systems as you are seeing.  But I really don't think there are very many cases where we need to use pexpect.

For instance, all the completion tests using the SBCommandInterpreter::HandleCompletion.  This is a pretty direct translation to the code that the CommandInterpreter uses to handle tabs, so you wouldn't change what you are testing, and the tests would be much more stable because you're just calling an API rather than scraping stdout from a sub-launched lldb.

We do need to add more command-line parsing tests as well, but it would be straightforward to write a little unit test harness that feeds in command lines and checks the parsed version of the command (before it gets passed to DoExecute) without actually executing the command.

I would rather not just xfail all these pexpect tests, I worry they will just stay that way.  Be better if we took the time to write them using more stable testing methods.


More information about the lldb-commits mailing list