Another options would be to make this work using LLDB itself. pexpect is just launching a child process and passing STDIN and getting STDOUT/STDERR. Right up our alley!
Greg > On Jan 20, 2015, at 1:43 PM, Zachary Turner <ztur...@google.com> wrote: > > Just now I googled again and found this: > https://gist.github.com/anthonyeden/8488763 > > I must have seen this before and figured out it wouldn't work, but my memory > escapes me now. I will look at this again and see if it can work. > > On Tue Jan 20 2015 at 1:39:16 PM <jing...@apple.com> wrote: > I know that over time we have broken the lldb driver argument processing, and > not having tests we didn't find out till some time later. So having tests > for the driver (and indeed more than we have now because I am pretty sure our > coverage in that area is pretty light) is a good and necessary thing. The > test you quote is specifically testing that the driver parses this argument > correctly. It should definitely stay. > > I'm curious as to why is there no pexpect for Windows? That seems pretty odd > to me. Expect was ported to Windows quite some time ago, so all the things > pexpect tries to do must be possible... > > Jim > > > > On Jan 20, 2015, at 1:28 PM, Zachary Turner <ztur...@google.com> wrote: > > > > A long time ago I noted that some of the tests are using pexpect. pexpect > > doesn't exist on Windows, so we basically don't have test coverage for any > > of this stuff on Windows. At the time I just left it alone because there > > were bigger fish to fry, but now that we have the test suite running, these > > are surfacing as failing tests. > > > > I'm going to submit a patch soon to XFAIL every test that uses pexpect on > > Windows, but I would like to propose longer term eliminating pexpect tests > > entirely. I didn't study every single test that uses pexpect closely, but > > it seems to me that generally pexpect is used to launch lldb as a separate > > process, then send text commands to it, then check that the prompt looks > > correct. > > > > In most cases, there's no reason that we specifically need to do this > > out-of-process, and the actual functionality being tested would work just > > as well through an in-process public API test. For example, in > > TestSingleQuoteInFilename.py, we run "./lldb --lldb-noinit "path with > > '09/a.out" > > > > What I think we should really be testing here is whether the "target > > create" command works with an argument that has a single quote in it. > > Anything that's broken between typing a command on the shell and > > formulating a "target create" command is going to something with shell > > expansion. > > > > So I think this test could be re-written to simply run a target create > > in-process using the extension module, and sanity check the resulting > > debugger state. > > > > Similar logic applies for other tests that use pexpect. > > > > Is anyone opposed to an effort to remove pexpect in this fashion? > > _______________________________________________ > > lldb-dev mailing list > > lldb-dev@cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > _______________________________________________ > lldb-dev mailing list > lldb-dev@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev