Index: systrace/systrace/tracing_agents/battor_trace_agent_unittest.py |
diff --git a/systrace/systrace/tracing_agents/battor_trace_agent_unittest.py b/systrace/systrace/tracing_agents/battor_trace_agent_unittest.py |
index 5ef2a3faac04d85288473a9770db923e59edbba4..63471611923e2bfe9644d2a371d76761a6328643 100755 |
--- a/systrace/systrace/tracing_agents/battor_trace_agent_unittest.py |
+++ b/systrace/systrace/tracing_agents/battor_trace_agent_unittest.py |
@@ -13,15 +13,14 @@ from systrace.tracing_agents import battor_trace_agent |
from battor import battor_wrapper |
from devil.android import battery_utils |
from devil.utils import battor_device_mapping |
+from devil.utils import find_usb_devices |
mock_opts = namedtuple('mock_opts', ['target', 'device_serial_number', |
- 'hub_types', 'battor_path', |
- 'update_map', 'serial_map']) |
-OPTIONS = mock_opts('android', 'Phn2', ['plugable_7port'], |
- None, False, __file__) |
+ 'battor_path', 'serial_map']) |
+OPTIONS = mock_opts('android', 'Phn2', None, __file__) |
CATEGORIES = None |
- |
+_DEFAULT_BATTOR_LIST = ['dev/ttyUSB0'] |
def raise_error(*args, **kwargs): |
del args |
@@ -31,7 +30,8 @@ def raise_error(*args, **kwargs): |
battor_device_mapping.GenerateSerialMapFile = raise_error |
def setup_battor_test(StartShell_error, StartTracing_error, |
- StopTracing_error, CollectTraceData_error): |
+ StopTracing_error, CollectTraceData_error, |
+ battor_paths=None): |
wrapper = MockBattOrWrapper(StartShell_error, StartTracing_error, |
StopTracing_error, CollectTraceData_error) |
def wrapper_maker(*args, **kwargs): |
@@ -39,6 +39,10 @@ def setup_battor_test(StartShell_error, StartTracing_error, |
del kwargs |
return wrapper |
battor_wrapper.BattOrWrapper = wrapper_maker |
+ find_usb_devices.GetBusNumberToDeviceTreeMap = lambda: None |
+ if battor_paths is None: |
+ battor_paths = _DEFAULT_BATTOR_LIST |
+ battor_device_mapping.GetBattOrList = lambda x: battor_paths |
class MockBattOrWrapper(object): |
@@ -152,6 +156,26 @@ class BattOrAgentTest(unittest.TestCase): |
x = agent.GetResults() |
self.assertEqual(x.raw_data, 'traceout1\ntraceout2') |
+ @decorators.HostOnlyTest |
+ def test_trace_error_no_battor(self): |
+ setup_battor_test(StartShell_error=False, StartTracing_error=False, |
+ StopTracing_error=False, CollectTraceData_error=False, |
+ battor_paths=[]) |
+ agent = battor_trace_agent.BattOrTraceAgent() |
+ options = mock_opts('android', 'Phn2', None, None) |
+ with self.assertRaises(AssertionError): |
+ agent.StartAgentTracing(options, CATEGORIES) |
+ |
+ @decorators.HostOnlyTest |
+ def test_trace_error_multiple_battors_no_battor_path(self): |
+ setup_battor_test(StartShell_error=False, StartTracing_error=False, |
+ StopTracing_error=False, CollectTraceData_error=False, |
+ battor_paths=['a', 'b']) |
+ agent = battor_trace_agent.BattOrTraceAgent() |
+ options = mock_opts('android', 'Phn2', None, None) |
+ with self.assertRaises(AssertionError): |
+ agent.StartAgentTracing(options, CATEGORIES) |
+ |
if __name__ == "__main__": |
logging.getLogger().setLevel(logging.DEBUG) |