brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1011 B · a36714c Raw
32 lines · python
1"""2Test lldb's handling of job control signals (SIGTSTP, SIGCONT).3"""4 5from lldbsuite.test.decorators import *6from lldbsuite.test.lldbtest import *7from lldbsuite.test.lldbpexpect import PExpectTest8 9 10class JobControlTest(PExpectTest):11    @skipIf(macos_version=["<", "14.0"], asan=True)12    @skipIf(oslist=["linux"], archs=["arm$", "aarch64"])13    def test_job_control(self):14        def post_spawn():15            self.child.expect("PID=([0-9]+)")16            self.lldb_pid = int(self.child.match[1])17 18        run_under = [sys.executable, self.getSourcePath("shell.py")]19        self.launch(run_under=run_under, post_spawn=post_spawn)20 21        os.kill(self.lldb_pid, signal.SIGTSTP)22        self.child.expect("STATUS=([0-9]+)")23        status = int(self.child.match[1])24 25        self.assertTrue(os.WIFSTOPPED(status))26        self.assertEqual(os.WSTOPSIG(status), signal.SIGTSTP)27 28        os.kill(self.lldb_pid, signal.SIGCONT)29 30        self.child.sendline("quit")31        self.child.expect("RETURNCODE=0")32