def setup(opts=None): """Parse options. If none given, opts is set to sys.argv""" if opts is None: opts = sys.argv[1:] config.bootstrap(opts) config.load() config.parse_options(opts) ensure_dir_exists(app_globals.OPTIONS['output_path']) log_start() if app_globals.OPTIONS['report_pid']: proctl.report_pid() exit(0) config.check() proctl.ensure_singleton_process() init_signals()
def test_aggressive_singular_process_should_write_pid_file_when_running_pids_returns_none(self): self.mock_pid_process(aggressive = True, pid=None) proctl.ensure_singleton_process() self.assertFalse(os.kill.called) self.assertEqual(read_file(self.filename), str(os.getpid()))
def test_aggressive_singular_process_should_continue_when_kill_works(self): self.mock_pid_process(aggressive = True, pid=1234, file_pid = '1234') proctl.ensure_singleton_process() self.assertEqual(os.kill.call_args_list, [((1234, signal.SIGKILL),{})]) self.assertEqual(read_file(self.filename), str(os.getpid()))