diff options
author | Ang Li <angli@google.com> | 2023-04-25 15:36:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-25 15:36:42 -0700 |
commit | 031aa94cff5e7b5392b52d65f9f4ca9ca63144c8 (patch) | |
tree | 11ba1d2d9602e503a875dd1e751457aa9113d9d9 | |
parent | 791b49cbe68057c9d397430a6d76f8f4fc21465e (diff) | |
download | mobly-031aa94cff5e7b5392b52d65f9f4ca9ca63144c8.tar.gz |
Do not start logcat service when the Andriod device is in fastboot mode. (#881)
3 files changed, 31 insertions, 0 deletions
diff --git a/mobly/controllers/android_device_lib/services/logcat.py b/mobly/controllers/android_device_lib/services/logcat.py index cbd8e95..37a8454 100644 --- a/mobly/controllers/android_device_lib/services/logcat.py +++ b/mobly/controllers/android_device_lib/services/logcat.py @@ -201,6 +201,10 @@ class Logcat(base_service.BaseService): The collection runs in a separate subprocess and saves logs in a file. """ + if self._ad.is_bootloader: + self._ad.log.warning( + 'Skip starting logcat because the device is in fastboot mode.') + return self._assert_not_running() if self._config.clear_log: self.clear_adb_log() diff --git a/tests/mobly/controllers/android_device_lib/services/logcat_test.py b/tests/mobly/controllers/android_device_lib/services/logcat_test.py index 5c951b6..df15d76 100755 --- a/tests/mobly/controllers/android_device_lib/services/logcat_test.py +++ b/tests/mobly/controllers/android_device_lib/services/logcat_test.py @@ -133,6 +133,23 @@ class LogcatTest(unittest.TestCase): 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.utils.start_standing_subprocess') + @mock.patch('mobly.controllers.android_device.list_fastboot_devices', + return_value='1') + def test_start_in_fastboot_mode(self, _, start_proc_mock, FastbootProxy, + MockAdbProxy): + mock_serial = '1' + ad = android_device.AndroidDevice(serial=mock_serial) + logcat_service = logcat.Logcat(ad) + logcat_service.start() + # Verify start is not performed + self.assertFalse(logcat_service._adb_logcat_process) + start_proc_mock.assert_not_called() + + @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.utils.create_dir') @mock.patch('mobly.utils.start_standing_subprocess', return_value='process') @mock.patch('mobly.utils.stop_standing_subprocess') diff --git a/tests/mobly/controllers/android_device_test.py b/tests/mobly/controllers/android_device_test.py index 4aa5304..fc1fc76 100755 --- a/tests/mobly/controllers/android_device_test.py +++ b/tests/mobly/controllers/android_device_test.py @@ -581,6 +581,16 @@ class AndroidDeviceTest(unittest.TestCase): 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.list_fastboot_devices', + return_value='1') + def test_AndroidDevice_is_fastboot(self, _, MockFastboot, MockAdbProxy): + ad = android_device.AndroidDevice(serial='1') + self.assertTrue(ad.is_bootloader) + + @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.logger.get_log_file_timestamp') def test_AndroidDevice_generate_filename_default(self, get_log_file_timestamp_mock, |