zturner added a comment. In https://reviews.llvm.org/D37923#875322, @clayborg wrote:
> We should have a test. The test would need to use pexpect or something > similar. If anyone has any pointer on how to make a test for this, please > chime in. I was thinking just a pexpect based test. This kind of thing is perfect for a unit test, but I'm not sure how easy that would be with the current design. You'd basically do something like: struct MockStream { explicit MockStream(CommandInterpreter &Interpreter, int InterruptAfter) : CommandInterpreter(Interpreter), InterruptAfter(InterruptAfter) {} CommandInterpreter &Interpreter; const int InterruptAfter; int Lines = 0; std::string Buffer; void Write(StringRef S) { ++Lines; if (Lines >= InterruptAfter) { Interpreter.Interrupt(); return; } Buffer += S; } }; TEST_F(CommandInterruption) { CommandInterpreter Interpreter; MockStream Stream(Interpreter, 3); Interpreter.PrintCommandOutput(Stream, "a\nb\nc\nd\ne\nf\n"); EXPECT_EQ(Stream.Lines == 3); EXPECT_EQ(Stream.Buffer == "a\nb\nc\n"); } https://reviews.llvm.org/D37923 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits