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

Side by Side Diff: build/android/pylib/utils/emulator.py

Issue 1643003002: Add logging for emulator to debug bot timeout (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
« no previous file with comments | « build/android/avd.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Provides an interface to start and stop Android emulator. 5 """Provides an interface to start and stop Android emulator.
6 6
7 Emulator: The class provides the methods to launch/shutdown the emulator with 7 Emulator: The class provides the methods to launch/shutdown the emulator with
8 the android virtual device named 'avd_armeabi' . 8 the android virtual device named 'avd_armeabi' .
9 """ 9 """
10 10
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 sdcard_size=sdcard_size, storage_size=storage_size, 183 sdcard_size=sdcard_size, storage_size=storage_size,
184 headless=headless) 184 headless=headless)
185 emulator.CreateAVD(api_level) 185 emulator.CreateAVD(api_level)
186 emulator.Launch(kill_all_emulators=(n == 0 and kill_and_launch)) 186 emulator.Launch(kill_all_emulators=(n == 0 and kill_and_launch))
187 t.Stop() 187 t.Stop()
188 emulators.append(emulator) 188 emulators.append(emulator)
189 # Wait for all emulators to boot completed. 189 # Wait for all emulators to boot completed.
190 if wait_for_boot: 190 if wait_for_boot:
191 for emulator in emulators: 191 for emulator in emulators:
192 emulator.ConfirmLaunch(True) 192 emulator.ConfirmLaunch(True)
193 logging.info('All emulators are fully booted')
193 return emulators 194 return emulators
194 195
195 196
196 def LaunchEmulator(avd_name, abi, kill_and_launch=True, enable_kvm=False, 197 def LaunchEmulator(avd_name, abi, kill_and_launch=True, enable_kvm=False,
197 sdcard_size=DEFAULT_SDCARD_SIZE, 198 sdcard_size=DEFAULT_SDCARD_SIZE,
198 storage_size=DEFAULT_STORAGE_SIZE, headless=False): 199 storage_size=DEFAULT_STORAGE_SIZE, headless=False):
199 """Launch an existing emulator with name avd_name. 200 """Launch an existing emulator with name avd_name.
200 201
201 Args: 202 Args:
202 avd_name: name of existing emulator 203 avd_name: name of existing emulator
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 raise EmulatorLaunchException('EMULATOR DIED') 456 raise EmulatorLaunchException('EMULATOR DIED')
456 457
457 if seconds_waited >= self._LAUNCH_TIMEOUT: 458 if seconds_waited >= self._LAUNCH_TIMEOUT:
458 raise EmulatorLaunchException('TIMEOUT with wait-for-device') 459 raise EmulatorLaunchException('TIMEOUT with wait-for-device')
459 460
460 logging.info('Seconds waited on wait-for-device: %d', seconds_waited) 461 logging.info('Seconds waited on wait-for-device: %d', seconds_waited)
461 if wait_for_boot: 462 if wait_for_boot:
462 # Now that we checked for obvious problems, wait for a boot complete. 463 # Now that we checked for obvious problems, wait for a boot complete.
463 # Waiting for the package manager is sometimes problematic. 464 # Waiting for the package manager is sometimes problematic.
464 device.WaitUntilFullyBooted(timeout=self._WAITFORBOOT_TIMEOUT) 465 device.WaitUntilFullyBooted(timeout=self._WAITFORBOOT_TIMEOUT)
466 logging.info('%s is now fully booted', self.avd_name)
465 467
466 def Shutdown(self): 468 def Shutdown(self):
467 """Shuts down the process started by launch.""" 469 """Shuts down the process started by launch."""
468 self._DeleteAVD() 470 self._DeleteAVD()
469 if self.popen: 471 if self.popen:
470 self.popen.poll() 472 self.popen.poll()
471 if self.popen.returncode == None: 473 if self.popen.returncode == None:
472 self.popen.kill() 474 self.popen.kill()
473 self.popen = None 475 self.popen = None
474 476
475 def _ShutdownOnSignal(self, _signum, _frame): 477 def _ShutdownOnSignal(self, _signum, _frame):
476 logging.critical('emulator _ShutdownOnSignal') 478 logging.critical('emulator _ShutdownOnSignal')
477 for sig in self._SIGNALS: 479 for sig in self._SIGNALS:
478 signal.signal(sig, signal.SIG_DFL) 480 signal.signal(sig, signal.SIG_DFL)
479 self.Shutdown() 481 self.Shutdown()
480 raise KeyboardInterrupt # print a stack 482 raise KeyboardInterrupt # print a stack
481 483
482 def _InstallKillHandler(self): 484 def _InstallKillHandler(self):
483 """Install a handler to kill the emulator when we exit unexpectedly.""" 485 """Install a handler to kill the emulator when we exit unexpectedly."""
484 for sig in self._SIGNALS: 486 for sig in self._SIGNALS:
485 signal.signal(sig, self._ShutdownOnSignal) 487 signal.signal(sig, self._ShutdownOnSignal)
OLDNEW
« no previous file with comments | « build/android/avd.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698