From 41284ffc0a27b6e24dff57a08a69b21c3fc355bc Mon Sep 17 00:00:00 2001 From: Seth Schoen Date: Wed, 4 Feb 2015 22:36:24 -0800 Subject: [PATCH] Let tests specify how long parent waits for child process --- letsencrypt/client/standalone_authenticator.py | 7 ++++--- letsencrypt/client/tests/standalone_authenticator_test.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/letsencrypt/client/standalone_authenticator.py b/letsencrypt/client/standalone_authenticator.py index 5a1e3d5dc..abc7a6983 100644 --- a/letsencrypt/client/standalone_authenticator.py +++ b/letsencrypt/client/standalone_authenticator.py @@ -310,16 +310,17 @@ class StandaloneAuthenticator(object): new_ctx.use_privatekey(self.private_key) connection.set_context(new_ctx) - def do_parent_process(self, port): + def do_parent_process(self, port, delay_amount=5): """Perform the parent process side of the TCP listener task. This - should only be called by start_listener().""" + should only be called by start_listener(). We will wait up to + delay_amount seconds to hear from the child process via a signal.""" signal.signal(signal.SIGIO, self.client_signal_handler) signal.signal(signal.SIGUSR1, self.client_signal_handler) signal.signal(signal.SIGUSR2, self.client_signal_handler) display = zope.component.getUtility(interfaces.IDisplay) start_time = time.time() - while time.time() < start_time + 5: + while time.time() < start_time + delay_amount: if self.subproc_ready: return True if self.subproc_inuse: diff --git a/letsencrypt/client/tests/standalone_authenticator_test.py b/letsencrypt/client/tests/standalone_authenticator_test.py index dde7e6d9b..ca0802097 100644 --- a/letsencrypt/client/tests/standalone_authenticator_test.py +++ b/letsencrypt/client/tests/standalone_authenticator_test.py @@ -329,7 +329,7 @@ class DoParentProcessTest(unittest.TestCase): @mock.patch("letsencrypt.client.standalone_authenticator.zope.component.getUtility") def test_do_parent_process_timeout(self, mock_getUtility, mock_signal): # Times out in 5 seconds and returns False. - result = self.authenticator.do_parent_process(1717) + result = self.authenticator.do_parent_process(1717, delay_amount=1) self.assertFalse(result) self.assertEqual(mock_signal.call_count, 3)