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

Side by Side Diff: build/android/pylib/local/device/local_device_environment.py

Issue 1907493003: [Android] Log raw output for instrumentation test failures at info level. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 import datetime 5 import datetime
6 import logging 6 import logging
7 import os 7 import os
8 import shutil 8 import shutil
9 import tempfile 9 import tempfile
10 import threading 10 import threading
(...skipping 16 matching lines...) Expand all
27 class LocalDeviceEnvironment(environment.Environment): 27 class LocalDeviceEnvironment(environment.Environment):
28 28
29 def __init__(self, args, _error_func): 29 def __init__(self, args, _error_func):
30 super(LocalDeviceEnvironment, self).__init__() 30 super(LocalDeviceEnvironment, self).__init__()
31 self._blacklist = (device_blacklist.Blacklist(args.blacklist_file) 31 self._blacklist = (device_blacklist.Blacklist(args.blacklist_file)
32 if args.blacklist_file 32 if args.blacklist_file
33 else None) 33 else None)
34 self._device_serial = args.test_device 34 self._device_serial = args.test_device
35 self._devices_lock = threading.Lock() 35 self._devices_lock = threading.Lock()
36 self._devices = [] 36 self._devices = []
37 self._max_tries = 1 + args.num_retries 37 self._concurrent_adb = args.enable_concurrent_adb
38 self._tool_name = args.tool
39 self._enable_device_cache = args.enable_device_cache 38 self._enable_device_cache = args.enable_device_cache
40 self._concurrent_adb = args.enable_concurrent_adb 39 self._logcat_monitors = []
41 self._logcat_output_dir = args.logcat_output_dir 40 self._logcat_output_dir = args.logcat_output_dir
42 self._logcat_output_file = args.logcat_output_file 41 self._logcat_output_file = args.logcat_output_file
43 self._logcat_monitors = [] 42 self._max_tries = 1 + args.num_retries
43 self._skip_clear_data = args.skip_clear_data
44 self._tool_name = args.tool
44 45
45 #override 46 #override
46 def SetUp(self): 47 def SetUp(self):
47 available_devices = device_utils.DeviceUtils.HealthyDevices( 48 available_devices = device_utils.DeviceUtils.HealthyDevices(
48 self._blacklist, enable_device_files_cache=self._enable_device_cache, 49 self._blacklist, enable_device_files_cache=self._enable_device_cache,
49 default_retries=self._max_tries - 1) 50 default_retries=self._max_tries - 1)
50 if not available_devices: 51 if not available_devices:
51 raise device_errors.NoDevicesError 52 raise device_errors.NoDevicesError
52 if self._device_serial: 53 if self._device_serial:
53 self._devices = [d for d in available_devices 54 self._devices = [d for d in available_devices
(...skipping 20 matching lines...) Expand all
74 logcat_file = os.path.join( 75 logcat_file = os.path.join(
75 self._logcat_output_dir, 76 self._logcat_output_dir,
76 '%s_%s' % (d.adb.GetDeviceSerial(), 77 '%s_%s' % (d.adb.GetDeviceSerial(),
77 datetime.datetime.utcnow().strftime('%Y%m%dT%H%M%S'))) 78 datetime.datetime.utcnow().strftime('%Y%m%dT%H%M%S')))
78 monitor = logcat_monitor.LogcatMonitor( 79 monitor = logcat_monitor.LogcatMonitor(
79 d.adb, clear=True, output_file=logcat_file) 80 d.adb, clear=True, output_file=logcat_file)
80 self._logcat_monitors.append(monitor) 81 self._logcat_monitors.append(monitor)
81 monitor.Start() 82 monitor.Start()
82 83
83 @property 84 @property
85 def concurrent_adb(self):
86 return self._concurrent_adb
87
88 @property
84 def devices(self): 89 def devices(self):
85 if not self._devices: 90 if not self._devices:
86 raise device_errors.NoDevicesError() 91 raise device_errors.NoDevicesError()
87 return self._devices 92 return self._devices
88 93
89 @property 94 @property
90 def concurrent_adb(self): 95 def max_tries(self):
91 return self._concurrent_adb 96 return self._max_tries
92 97
93 @property 98 @property
94 def parallel_devices(self): 99 def parallel_devices(self):
95 return parallelizer.SyncParallelizer(self.devices) 100 return parallelizer.SyncParallelizer(self.devices)
96 101
97 @property 102 @property
98 def max_tries(self): 103 def skip_clear_data(self):
99 return self._max_tries 104 return self._skip_clear_data
100 105
101 @property 106 @property
102 def tool(self): 107 def tool(self):
103 return self._tool_name 108 return self._tool_name
104 109
105 #override 110 #override
106 def TearDown(self): 111 def TearDown(self):
107 # Write the cache even when not using it so that it will be ready the first 112 # Write the cache even when not using it so that it will be ready the first
108 # time that it is enabled. Writing it every time is also necessary so that 113 # time that it is enabled. Writing it every time is also necessary so that
109 # an invalid cache can be flushed just by disabling it for one run. 114 # an invalid cache can be flushed just by disabling it for one run.
(...skipping 11 matching lines...) Expand all
121 [m.output_file for m in self._logcat_monitors]) 126 [m.output_file for m in self._logcat_monitors])
122 shutil.rmtree(self._logcat_output_dir) 127 shutil.rmtree(self._logcat_output_dir)
123 128
124 def BlacklistDevice(self, device, reason='local_device_failure'): 129 def BlacklistDevice(self, device, reason='local_device_failure'):
125 device_serial = device.adb.GetDeviceSerial() 130 device_serial = device.adb.GetDeviceSerial()
126 if self._blacklist: 131 if self._blacklist:
127 self._blacklist.Extend([device_serial], reason=reason) 132 self._blacklist.Extend([device_serial], reason=reason)
128 with self._devices_lock: 133 with self._devices_lock:
129 self._devices = [d for d in self._devices if str(d) != device_serial] 134 self._devices = [d for d in self._devices if str(d) != device_serial]
130 135
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698