Fix load_sl4a. (#522)
diff --git a/mobly/controllers/android_device_lib/services/sl4a_service.py b/mobly/controllers/android_device_lib/services/sl4a_service.py
index f3748d3..66311a7 100644
--- a/mobly/controllers/android_device_lib/services/sl4a_service.py
+++ b/mobly/controllers/android_device_lib/services/sl4a_service.py
@@ -25,7 +25,8 @@
`Sl4aClient.doFoo()`.
"""
- def __init__(self, device):
+ def __init__(self, device, configs=None):
+ del configs # Never used.
self._ad = device
self._sl4a_client = None
diff --git a/tests/mobly/controllers/android_device_lib/services/sl4a_service_test.py b/tests/mobly/controllers/android_device_lib/services/sl4a_service_test.py
index c140b91..9205918 100755
--- a/tests/mobly/controllers/android_device_lib/services/sl4a_service_test.py
+++ b/tests/mobly/controllers/android_device_lib/services/sl4a_service_test.py
@@ -15,6 +15,7 @@
from future.tests.base import unittest
from mobly.controllers.android_device_lib.services import sl4a_service
+from mobly.controllers.android_device_lib import service_manager
@mock.patch('mobly.controllers.android_device_lib.sl4a_client.Sl4aClient')
@@ -25,37 +26,43 @@
service = sl4a_service.Sl4aService(mock.MagicMock())
self.assertFalse(service.is_alive)
- def test_start(self, mock_class):
- mock_client = mock_class.return_value
+ def test_start(self, mock_sl4a_client_class):
+ mock_client = mock_sl4a_client_class.return_value
service = sl4a_service.Sl4aService(mock.MagicMock())
service.start()
mock_client.start_app_and_connect.assert_called_once_with()
self.assertTrue(service.is_alive)
- def test_stop(self, mock_class):
- mock_client = mock_class.return_value
+ def test_stop(self, mock_sl4a_client_class):
+ mock_client = mock_sl4a_client_class.return_value
service = sl4a_service.Sl4aService(mock.MagicMock())
service.start()
service.stop()
mock_client.stop_app.assert_called_once_with()
self.assertFalse(service.is_alive)
- def test_pause(self, mock_class):
- mock_client = mock_class.return_value
+ def test_pause(self, mock_sl4a_client_class):
+ mock_client = mock_sl4a_client_class.return_value
service = sl4a_service.Sl4aService(mock.MagicMock())
service.start()
service.pause()
mock_client.stop_event_dispatcher.assert_called_once_with()
mock_client.clear_host_port.assert_called_once_with()
- def test_resume(self, mock_class):
- mock_client = mock_class.return_value
+ def test_resume(self, mock_sl4a_client_class):
+ mock_client = mock_sl4a_client_class.return_value
service = sl4a_service.Sl4aService(mock.MagicMock())
service.start()
service.pause()
service.resume()
mock_client.restore_app_connection.assert_called_once_with()
+ def test_register_with_service_manager(self, _):
+ mock_device = mock.MagicMock()
+ manager = service_manager.ServiceManager(mock_device)
+ manager.register('sl4a', sl4a_service.Sl4aService)
+ self.assertTrue(manager.sl4a)
+
if __name__ == '__main__':
unittest.main()
diff --git a/tests/mobly/controllers/android_device_test.py b/tests/mobly/controllers/android_device_test.py
index a79c119..818d10c 100755
--- a/tests/mobly/controllers/android_device_test.py
+++ b/tests/mobly/controllers/android_device_test.py
@@ -526,6 +526,20 @@
@mock.patch(
'mobly.controllers.android_device_lib.fastboot.FastbootProxy',
return_value=mock_android_device.MockFastbootProxy('1'))
+ @mock.patch('mobly.controllers.android_device_lib.sl4a_client.Sl4aClient')
+ @mock.patch('mobly.utils.get_available_host_port')
+ def test_AndroidDevice_load_sl4a(self, MockGetPort, MockSnippetClient,
+ MockFastboot, MockAdbProxy):
+ ad = android_device.AndroidDevice(serial='1')
+ ad.load_sl4a()
+ self.assertTrue(hasattr(ad, 'sl4a'))
+
+ @mock.patch(
+ 'mobly.controllers.android_device_lib.adb.AdbProxy',
+ return_value=mock_android_device.MockAdbProxy('1'))
+ @mock.patch(
+ 'mobly.controllers.android_device_lib.fastboot.FastbootProxy',
+ return_value=mock_android_device.MockFastbootProxy('1'))
@mock.patch(
'mobly.controllers.android_device_lib.snippet_client.SnippetClient')
@mock.patch('mobly.utils.get_available_host_port')