1import lldb
2from lldbsuite.test.decorators import *
3from lldbsuite.test.lldbtest import *
4from lldbsuite.test.lldbpexpect import PExpectTest
5
6class TestIOHandlerProcessSTDIO(PExpectTest):
7
8    mydir = TestBase.compute_mydir(__file__)
9    NO_DEBUG_INFO_TESTCASE = True
10
11    # PExpect uses many timeouts internally and doesn't play well
12    # under ASAN on a loaded machine..
13    @skipIfAsan
14    @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
15    def test(self):
16        self.build()
17        self.launch(executable=self.getBuildArtifact("a.out"))
18        self.child.sendline("run")
19
20        self.child.send("foo\n")
21        self.child.expect_exact("stdout: foo")
22
23        self.child.send("bar\n")
24        self.child.expect_exact("stdout: bar")
25
26        self.child.send("baz\n")
27        self.child.expect_exact("stdout: baz")
28
29        self.child.sendcontrol('d')
30        self.quit()
31