labath added a comment.

Being curious is nice, but it would be even nicer if we figured out a way to 
test all of this stuff. Currently we have some very basic pexpect tests for 
this, but it's not clear how that will scale to more complex interactions (such 
as mouse clicking).

My idea for a test strategy (which is looking for someone to implement it) is 
to write (or resuse an existing -- pyte 
<https://github.com/selectel/pyte/tree/master/pyte> looks interesting) a simple 
"terminal emulator" in python. The idea is that this would process the raw 
escape sequences and produce an in-memory view of what the resulting screen 
should look like. Then we just connect the pexpect output to this terminal 
emulator.

This would allow us to write assertions based on that the virtual terminal 
view, so that we check *what* actually gets printed on the screen, and ignore 
the exact details about *how* it gets printed. (e.g. `self.assertIn("Process 
(F3)", screen[0])`...

(All this assumes that we're able to inject mouse clicks via pexpect, which I 
haven't checked whether it's possible, but I presume pexpect is low-level 
enough to be able to do something like that.)


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82522/new/

https://reviews.llvm.org/D82522



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to