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

Unified Diff: tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py

Issue 316143002: telemetry: Improve perf profiler (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Poll quicker. Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py
diff --git a/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py b/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py
index 497ffa9414265ebfaabc6249665a89821de1b467..c75176221e25a38f9bafed8e9124cda85382532d 100644
--- a/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py
+++ b/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py
@@ -2,15 +2,14 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import glob
-import logging
import os
import re
import shutil
import tempfile
+from telemetry import test
from telemetry.core import util
from telemetry.core.platform.profiler import android_profiling_helper
-from telemetry.unittest import options_for_unittests
from telemetry.unittest import simple_mock
from telemetry.unittest import tab_test_case
@@ -30,6 +29,12 @@ def _GetLibrariesMappedIntoProcesses(device, pids):
class TestAndroidProfilingHelper(tab_test_case.TabTestCase):
def setUp(self):
super(TestAndroidProfilingHelper, self).setUp()
+ # pylint: disable=W0212
+ browser_backend = self._browser._browser_backend
+ try:
+ self._device = browser_backend.adb.device()
+ except AttributeError:
+ pass
def testGetRequiredLibrariesForPerfProfile(self):
perf_output = os.path.join(
@@ -57,23 +62,19 @@ class TestAndroidProfilingHelper(tab_test_case.TabTestCase):
finally:
android_profiling_helper.subprocess = real_subprocess
+ @test.Enabled('android')
def testCreateSymFs(self):
- options = options_for_unittests.GetCopy()
- if not options.browser_type.startswith('android'):
- logging.warning('AndroidProfilingHelper only works on Android. Skipping.')
- return
-
# pylint: disable=W0212
- browser_backend = self._browser._browser_backend
- pids = ([browser_backend.pid] +
- self._browser._platform_backend.GetChildPids(browser_backend.pid))
- device = browser_backend.adb.device()
- libs = _GetLibrariesMappedIntoProcesses(device, pids)
+ browser_pid = self._browser._browser_backend.pid
+ pids = ([browser_pid] +
+ self._browser._platform_backend.GetChildPids(browser_pid))
+ libs = _GetLibrariesMappedIntoProcesses(self._device, pids)
assert libs
symfs_dir = tempfile.mkdtemp()
try:
- kallsyms = android_profiling_helper.CreateSymFs(device, symfs_dir, libs)
+ kallsyms = android_profiling_helper.CreateSymFs(self._device, symfs_dir,
+ libs)
# Make sure we found at least one unstripped library.
unstripped_libs = glob.glob(os.path.join(symfs_dir,
@@ -89,3 +90,12 @@ class TestAndroidProfilingHelper(tab_test_case.TabTestCase):
'%s not found in symfs' % lib
finally:
shutil.rmtree(symfs_dir)
+
+ @test.Enabled('android')
+ def testGetToolchainBinaryPath(self):
+ with tempfile.NamedTemporaryFile() as libc:
+ self._device.old_interface.PullFileFromDevice('/system/lib/libc.so',
+ libc.name)
+ path = android_profiling_helper.GetToolchainBinaryPath(libc.name,
+ 'objdump')
+ assert os.path.exists(path)

Powered by Google App Engine
This is Rietveld 408576698