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

Side by Side Diff: telemetry/telemetry/internal/platform/android_platform_backend.py

Issue 3015603002: [Clean up] Remove code related to install test ca in Telemetry (Closed)
Patch Set: Created 3 years, 3 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 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 logging 5 import logging
6 import os 6 import os
7 import posixpath 7 import posixpath
8 import re 8 import re
9 import subprocess 9 import subprocess
10 import tempfile 10 import tempfile
(...skipping 10 matching lines...) Expand all
21 from telemetry.internal.platform import linux_based_platform_backend 21 from telemetry.internal.platform import linux_based_platform_backend
22 from telemetry.internal.platform.power_monitor import android_dumpsys_power_moni tor 22 from telemetry.internal.platform.power_monitor import android_dumpsys_power_moni tor
23 from telemetry.internal.platform.power_monitor import android_fuelgauge_power_mo nitor 23 from telemetry.internal.platform.power_monitor import android_fuelgauge_power_mo nitor
24 from telemetry.internal.platform.power_monitor import android_temperature_monito r 24 from telemetry.internal.platform.power_monitor import android_temperature_monito r
25 from telemetry.internal.platform.power_monitor import ( 25 from telemetry.internal.platform.power_monitor import (
26 android_power_monitor_controller) 26 android_power_monitor_controller)
27 from telemetry.internal.platform.power_monitor import sysfs_power_monitor 27 from telemetry.internal.platform.power_monitor import sysfs_power_monitor
28 from telemetry.internal.platform.profiler import android_prebuilt_profiler_helpe r 28 from telemetry.internal.platform.profiler import android_prebuilt_profiler_helpe r
29 from telemetry.internal.util import binary_manager 29 from telemetry.internal.util import binary_manager
30 from telemetry.internal.util import external_modules 30 from telemetry.internal.util import external_modules
31 from telemetry.internal.util import webpagereplay_go_server
32 31
33 psutil = external_modules.ImportOptionalModule('psutil') 32 psutil = external_modules.ImportOptionalModule('psutil')
34 33
35 from devil.android import app_ui 34 from devil.android import app_ui
36 from devil.android import battery_utils 35 from devil.android import battery_utils
37 from devil.android import device_errors 36 from devil.android import device_errors
38 from devil.android import device_utils 37 from devil.android import device_utils
39 from devil.android.perf import cache_control 38 from devil.android.perf import cache_control
40 from devil.android.perf import perf_control 39 from devil.android.perf import perf_control
41 from devil.android.perf import thermal_throttle 40 from devil.android.perf import thermal_throttle
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 android_temperature_monitor.AndroidTemperatureMonitor(self._device), 93 android_temperature_monitor.AndroidTemperatureMonitor(self._device),
95 android_dumpsys_power_monitor.DumpsysPowerMonitor( 94 android_dumpsys_power_monitor.DumpsysPowerMonitor(
96 self._battery, self), 95 self._battery, self),
97 sysfs_power_monitor.SysfsPowerMonitor(self, standalone=True), 96 sysfs_power_monitor.SysfsPowerMonitor(self, standalone=True),
98 android_fuelgauge_power_monitor.FuelGaugePowerMonitor( 97 android_fuelgauge_power_monitor.FuelGaugePowerMonitor(
99 self._battery), 98 self._battery),
100 ], self._battery)) 99 ], self._battery))
101 self._video_recorder = None 100 self._video_recorder = None
102 self._installed_applications = None 101 self._installed_applications = None
103 102
104 self._test_ca_installed = None
105 self._system_ui = None 103 self._system_ui = None
106 104
107 _FixPossibleAdbInstability() 105 _FixPossibleAdbInstability()
108 106
109 @property 107 @property
110 def log_file_path(self): 108 def log_file_path(self):
111 return None 109 return None
112 110
113 @classmethod 111 @classmethod
114 def SupportsDevice(cls, device): 112 def SupportsDevice(cls, device):
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 break 550 break
553 551
554 def IsAppRunning(self, process_name): 552 def IsAppRunning(self, process_name):
555 """Determine if the given process is running. 553 """Determine if the given process is running.
556 554
557 Args: 555 Args:
558 process_name: The full package name string of the process. 556 process_name: The full package name string of the process.
559 """ 557 """
560 return bool(self._device.GetPids(process_name)) 558 return bool(self._device.GetPids(process_name))
561 559
562 @property
563 def supports_test_ca(self):
564 # TODO(nednguyen): figure out how to install certificate on Android M
565 # crbug.com/593152
566 # TODO(crbug.com/716084): enable support for test CA
567 # return self._device.build_version_sdk <= version_codes.LOLLIPOP_MR1
568 return False
569
570 def InstallTestCa(self):
571 """Install a randomly generated root CA on the android device.
572
573 This allows transparent HTTPS testing with WPR server without need
574 to tweak application network stack.
575
576 Note: If this method fails with any exception, then RemoveTestCa will be
577 automatically called by the network_controller_backend.
578 """
579 if self._test_ca_installed is not None:
580 logging.warning('Test certificate authority is already installed.')
581 return
582 webpagereplay_go_server.ReplayServer.InstallRootCertificate(
583 android_device_id=self._device.adb.GetDeviceSerial(),
584 adb_path=self._device.adb.GetAdbPath())
585
586 def RemoveTestCa(self):
587 """Remove root CA from device installed by InstallTestCa.
588
589 Note: Any exceptions raised by this method will be logged but dismissed by
590 the network_controller_backend.
591 """
592 if self._test_ca_installed is not None:
593 try:
594 webpagereplay_go_server.ReplayServer.RemoveRootCertificate(
595 android_device_id=self._device.adb.GetDeviceSerial(),
596 adb_path=self._device.adb.GetAdbPath())
597 finally:
598 self._test_ca_installed = None
599
600 def PushProfile(self, package, new_profile_dir): 560 def PushProfile(self, package, new_profile_dir):
601 """Replace application profile with files found on host machine. 561 """Replace application profile with files found on host machine.
602 562
603 Pushing the profile is slow, so we don't want to do it every time. 563 Pushing the profile is slow, so we don't want to do it every time.
604 Avoid this by pushing to a safe location using PushChangedFiles, and 564 Avoid this by pushing to a safe location using PushChangedFiles, and
605 then copying into the correct location on each test run. 565 then copying into the correct location on each test run.
606 566
607 Args: 567 Args:
608 package: The full package name string of the application for which the 568 package: The full package name string of the application for which the
609 profile is to be updated. 569 profile is to be updated.
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 for process in psutil.process_iter(): 817 for process in psutil.process_iter():
858 try: 818 try:
859 if psutil.version_info >= (2, 0): 819 if psutil.version_info >= (2, 0):
860 if 'adb' in process.name(): 820 if 'adb' in process.name():
861 process.cpu_affinity([0]) 821 process.cpu_affinity([0])
862 else: 822 else:
863 if 'adb' in process.name: 823 if 'adb' in process.name:
864 process.set_cpu_affinity([0]) 824 process.set_cpu_affinity([0])
865 except (psutil.NoSuchProcess, psutil.AccessDenied): 825 except (psutil.NoSuchProcess, psutil.AccessDenied):
866 logging.warn('Failed to set adb process CPU affinity') 826 logging.warn('Failed to set adb process CPU affinity')
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698