199451b44SJordan Rupprechtimport gdbremote_testcase 299451b44SJordan Rupprechtimport lldbgdbserverutils 399451b44SJordan Rupprechtimport os 499451b44SJordan Rupprechtimport select 599451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 699451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 799451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 899451b44SJordan Rupprecht 999451b44SJordan Rupprecht 10*2238dcc3SJonas Devlieghereclass TestStubSetSIDTestCase(gdbremote_testcase.GdbRemoteTestCaseBase): 1199451b44SJordan Rupprecht def get_stub_sid(self, extra_stub_args=None): 1299451b44SJordan Rupprecht # Launch debugserver 1399451b44SJordan Rupprecht if extra_stub_args: 1499451b44SJordan Rupprecht self.debug_monitor_extra_args += extra_stub_args 1599451b44SJordan Rupprecht 1699451b44SJordan Rupprecht server = self.launch_debug_monitor() 1799451b44SJordan Rupprecht self.assertIsNotNone(server) 18*2238dcc3SJonas Devlieghere self.assertTrue(lldbgdbserverutils.process_is_running(server.pid, True)) 1999451b44SJordan Rupprecht 2099451b44SJordan Rupprecht # Get the process id for the stub. 2199451b44SJordan Rupprecht return os.getsid(server.pid) 2299451b44SJordan Rupprecht 2354a1c861SPavel Labath @skipIfWindows 2454a1c861SPavel Labath @skipIfRemote # --setsid not used on remote platform and currently it is also impossible to get the sid of lldb-platform running on a remote target 2554a1c861SPavel Labath def test_sid_is_same_without_setsid(self): 2654a1c861SPavel Labath self.set_inferior_startup_launch() 2754a1c861SPavel Labath 2899451b44SJordan Rupprecht stub_sid = self.get_stub_sid() 2999451b44SJordan Rupprecht self.assertEqual(stub_sid, os.getsid(0)) 3099451b44SJordan Rupprecht 3154a1c861SPavel Labath @skipIfWindows 3254a1c861SPavel Labath @skipIfRemote # --setsid not used on remote platform and currently it is also impossible to get the sid of lldb-platform running on a remote target 3354a1c861SPavel Labath def test_sid_is_different_with_setsid(self): 3454a1c861SPavel Labath self.set_inferior_startup_launch() 3554a1c861SPavel Labath 3699451b44SJordan Rupprecht stub_sid = self.get_stub_sid(["--setsid"]) 3799451b44SJordan Rupprecht self.assertNotEqual(stub_sid, os.getsid(0)) 3899451b44SJordan Rupprecht 3999451b44SJordan Rupprecht @skipIfWindows 4099451b44SJordan Rupprecht @skipIfRemote # --setsid not used on remote platform and currently it is also impossible to get the sid of lldb-platform running on a remote target 4199451b44SJordan Rupprecht def test_sid_is_different_with_S_llgs(self): 4299451b44SJordan Rupprecht self.set_inferior_startup_launch() 4354a1c861SPavel Labath 4454a1c861SPavel Labath stub_sid = self.get_stub_sid(["-S"]) 4554a1c861SPavel Labath self.assertNotEqual(stub_sid, os.getsid(0)) 46