Пример #1
0
 def test_exit_kills_manager(self) -> None:
     systemd = self.make_temporary_systemd_user_service_manager()
     process_id = systemd.process_id
     systemd.exit()
     self.assertFalse(systemd.is_alive())
     proc_utils = proc_utils_mod.new()
     self.assertFalse(proc_utils.is_process_alive(process_id))
Пример #2
0
def check_in_progress_checkout(tracker: ProblemTracker,
                               checkout: EdenCheckout) -> None:
    try:
        checkout.get_snapshot()
    except InProgressCheckoutError as ex:
        if proc_utils.new().is_edenfs_process(ex.pid):
            return

        tracker.add_problem(PreviousEdenFSCrashedDuringCheckout(checkout, ex))
Пример #3
0
 def test_stop_stops_running_daemon(self) -> None:
     proc_utils = proc_utils_mod.new()
     with self.spawn_fake_edenfs(self.eden_dir) as daemon_pid:
         stop_process = self.spawn_stop(["--timeout", "5"])
         stop_process.expect_exact("edenfs exited cleanly.")
         self.assert_process_exit_code(stop_process,
                                       SHUTDOWN_EXIT_CODE_NORMAL)
         self.assertFalse(
             proc_utils.is_process_alive(daemon_pid),
             f"Process {daemon_pid} should have died",
         )
Пример #4
0
 def __init__(
     self,
     instance: EdenInstance,
     tracker: ProblemTracker,
     mount_table: Optional[mtab.MountTable] = None,
     fs_util: Optional[filesystem.FsUtil] = None,
     proc_utils: Optional[proc_utils_mod.ProcUtils] = None,
     out: Optional[ui.Output] = None,
 ) -> None:
     self.instance = instance
     self.tracker = tracker
     self.mount_table = mount_table if mount_table is not None else mtab.new()
     self.fs_util = fs_util if fs_util is not None else filesystem.LinuxFsUtil()
     self.proc_utils = proc_utils if proc_utils is not None else proc_utils_mod.new()
     self.out = out if out is not None else ui.get_output()