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