[lldb-dev] [RFC]The future of pexpect

Alex Langford via lldb-dev lldb-dev at lists.llvm.org
Wed Jan 30 18:00:04 PST 2019


+1

Thanks for bringing this up. I'd like to see this happen!

- Alex

On 1/30/19, 5:33 PM, "lldb-dev on behalf of Davide Italiano via lldb-dev" <lldb-dev-bounces at lists.llvm.org on behalf of lldb-dev at lists.llvm.org> wrote:

    As you probably know (I didn’t), lldb embeds its own version of
    `pexpect-2.4`, which doesn’t support python3.
    This is the (relatively short) list of tests relying on pyexpect:
    
    testcases/tools/lldb-mi/syntax/TestMiSyntax.py:        import pexpect
                            # 7 (EOF)
    testcases/tools/lldb-mi/lldbmi_testcase.py:        import pexpect
    testcases/tools/lldb-mi/signal/TestMiSignal.py:        import pexpect
    testcases/tools/lldb-mi/signal/TestMiSignal.py:        import pexpect
    testcases/lldbtest.py:            import pexpect
    testcases/driver/batch_mode/TestBatchMode.py:        import pexpect
    testcases/driver/batch_mode/TestBatchMode.py:        import pexpect
    testcases/driver/batch_mode/TestBatchMode.py:        import pexpect
    testcases/driver/batch_mode/TestBatchMode.py:        import pexpect
    testcases/lldbpexpect.py:    import pexpect
    testcases/terminal/TestSTTYBeforeAndAfter.py:        import pexpect
    testcases/darwin_log.py:        import pexpect
    testcases/macosx/nslog/TestDarwinNSLogOutput.py:        import pexpect
    testcases/benchmarks/stepping/TestSteppingSpeed.py:        import pexpect
    testcases/benchmarks/frame_variable/TestFrameVariableResponse.py:
      import pexpect
    testcases/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py:
           import pexpect
    testcases/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py:
           import pexpect
    testcases/benchmarks/expression/TestExpressionCmd.py:        import pexpect
    testcases/benchmarks/expression/TestRepeatedExprs.py:        import pexpect
    testcases/benchmarks/expression/TestRepeatedExprs.py:        import pexpect
    testcases/benchmarks/startup/TestStartupDelays.py:        import pexpect
    testcases/functionalities/command_regex/TestCommandRegex.py:
    import pexpect
    testcases/functionalities/single-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py:
           import pexpect
    testcases/functionalities/format/TestFormats.py:        import pexpect
    
    (I count 14, but there might be something else).
    
    I audited all of them and from what I see they’re almost all testing the driver.
    I had a chat with my coworkers and we agreed it's reasonable to
    replace them with lit tests (as they're just running commands).
    This would allow us to get rid of an external dependency, which
    happened to be cause of trouble in the past.
    
    Are there any objections?
    
    Thanks,
    
    --
    Davide
    _______________________________________________
    lldb-dev mailing list
    lldb-dev at lists.llvm.org
    https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_lldb-2Ddev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=plcBe-Lvb3GcVnji0z26DNJmyn6uNsBq7AW-IQ7KAQQ&m=oo0_7ONGQhEkwtwF6DG8I6sVC2lUR-vlmka8pm4v1k0&s=zp1B92i8MPZxGtbFYUADj5J4GqHwpC1-g_x3fIN1hq0&e=
    



More information about the lldb-dev mailing list