summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/iohandler
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/iohandler')
-rw-r--r--lldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py50
1 files changed, 13 insertions, 37 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py b/lldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py
index a1c07a3b045..d202887902e 100644
--- a/lldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py
+++ b/lldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py
@@ -7,70 +7,46 @@ import os
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
+from lldbsuite.test.lldbpexpect import PExpectTest
-class IOHandlerCompletionTest(TestBase):
+class IOHandlerCompletionTest(PExpectTest):
mydir = TestBase.compute_mydir(__file__)
- NO_DEBUG_INFO_TESTCASE = True
- def setUp(self):
- TestBase.setUp(self)
-
- def expect_string(self, string):
- import pexpect
- """This expects for "string", with timeout & EOF being test fails."""
- try:
- self.child.expect_exact(string)
- except pexpect.EOF:
- self.fail("Got EOF waiting for '%s'" % (string))
- except pexpect.TIMEOUT:
- self.fail("Timed out waiting for '%s'" % (string))
-
- @expectedFailureAll(
- oslist=["windows"],
- bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
def test_completion(self):
- self.setTearDownCleanup()
-
- import pexpect
- exe = self.getBuildArtifact("a.out")
- prompt = "(lldb) "
-
- self.child = pexpect.spawn(
- '%s %s %s %s' %
- (lldbtest_config.lldbExec, self.lldbOption, "", exe),
- dimensions=(100, 500))
+ self.launch(dimensions=(100,500))
- self.expect_string(prompt)
# Start tab completion, go to the next page and then display all with 'a'.
self.child.send("\t\ta")
- self.expect_string("register")
+ self.child.expect_exact("register")
# Try tab completing regi to register.
self.child.send("regi\t")
- self.expect_string(prompt + "register")
+ self.child.expect_exact(self.PROMPT + "register")
self.child.send("\n")
+ self.expect_prompt()
# Try tab completing directories and files. Also tests the partial
# completion where LLDB shouldn't print a space after the directory
# completion (as it didn't completed the full token).
dir_without_slashes = os.path.realpath(os.path.dirname(__file__)).rstrip("/")
self.child.send("file " + dir_without_slashes + "\t")
- self.expect_string("iohandler/completion/")
+ self.child.expect_exact("iohandler/completion/")
# If we get a correct partial completion without a trailing space, then this
# should complete the current test file.
self.child.send("TestIOHandler\t")
- self.expect_string("TestIOHandlerCompletion.py")
+ self.child.expect_exact("TestIOHandlerCompletion.py")
self.child.send("\n")
+ self.expect_prompt()
# Start tab completion and abort showing more commands with 'n'.
self.child.send("\t")
- self.expect_string("More (Y/n/a)")
+ self.child.expect_exact("More (Y/n/a)")
self.child.send("n")
- self.expect_string(prompt)
+ self.expect_prompt()
# Shouldn't crash or anything like that.
self.child.send("regoinvalid\t")
- self.expect_string(prompt)
+ self.expect_prompt()
- self.deletePexpectChild()
+ self.quit()
OpenPOWER on IntegriCloud