Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Unified Diff: infra/services/service_manager/test/service_test.py

Issue 1365583002: Have service_manager start a cloudtail attached to each service it starts. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Just use the default project ID Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: infra/services/service_manager/test/service_test.py
diff --git a/infra/services/service_manager/test/service_test.py b/infra/services/service_manager/test/service_test.py
index 6a76546b39a12957816bbca362e1eccfe45d3cd2..dc71c3c75a14fdf133a320a201e173756005c2b6 100644
--- a/infra/services/service_manager/test/service_test.py
+++ b/infra/services/service_manager/test/service_test.py
@@ -113,6 +113,7 @@ class ServiceTest(TestBase):
'args': ['one', 'two'],
'stop_time': '86',
},
+ None,
time_fn=self.mock_time,
sleep_fn=self.mock_sleep)
@@ -126,6 +127,8 @@ class ServiceTest(TestBase):
self.mock_kill = mock.patch('os.kill').start()
self.mock_become_daemon = mock.patch(
'infra.libs.service_utils.daemon.become_daemon').start()
+ self.mock_close_all_fds = mock.patch(
+ 'infra.libs.service_utils.daemon.close_all_fds').start()
def test_start_already_running(self):
self._write_state('foo', '{"pid": 1234, "starttime": 5678}')
@@ -225,7 +228,8 @@ class ServiceTest(TestBase):
self.assertTrue(self.mock_pipe.called)
self.assertEqual(mock.call(42), self.mock_close.call_args_list[0])
self.mock_fdopen.assert_called_once_with(43, 'w')
- self.mock_become_daemon.assert_called_once_with(keep_fds={43})
+ self.mock_become_daemon.assert_called_once_with(keep_fds=True)
+ self.mock_close_all_fds.assert_called_once_with(keep_fds=None)
self.assertEqual('{"pid": 555}', self._all_writes(mock_pipe_object))
mock_pipe_object.close.assert_called_once_with()
self.mock_execv.assert_called_once_with('/rootdir/run.py', [
@@ -348,6 +352,25 @@ class ServiceTest(TestBase):
state = service.ProcessState(pid=1234, starttime=5678, version=1)
self.assertFalse(self.s.has_args_changed(state))
+ def test_cloudtail_args(self):
+ self.assertIsNone(self.s.cloudtail_args)
+
+ self.s = service.Service(
+ self.state_directory,
+ {
+ 'name': 'foo',
+ 'root_directory': '/rootdir',
+ 'tool': 'bar',
+ 'args': ['one', 'two'],
+ 'stop_time': '86',
+ },
+ '/cloudtail',
+ time_fn=self.mock_time,
+ sleep_fn=self.mock_sleep)
+
+ self.assertIn('/cloudtail', self.s.cloudtail_args)
+ self.assertIn('foo', self.s.cloudtail_args)
+
class OwnServiceTest(TestBase):
def setUp(self):

Powered by Google App Engine
This is Rietveld 408576698