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

Unified Diff: build/android/pylib/gtest/test_package_apk.py

Issue 2392643003: Removes files from //build that we don't need (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « build/android/pylib/gtest/test_package.py ('k') | build/android/pylib/gtest/test_package_exe.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/pylib/gtest/test_package_apk.py
diff --git a/build/android/pylib/gtest/test_package_apk.py b/build/android/pylib/gtest/test_package_apk.py
deleted file mode 100644
index a679b0358edbb9e3a01b562fdd9fda16f6b51d91..0000000000000000000000000000000000000000
--- a/build/android/pylib/gtest/test_package_apk.py
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Defines TestPackageApk to help run APK-based native tests."""
-# pylint: disable=W0212
-
-import itertools
-import logging
-import os
-import posixpath
-import shlex
-import sys
-import tempfile
-import time
-
-from pylib import android_commands
-from pylib import constants
-from pylib import pexpect
-from pylib.device import device_errors
-from pylib.device import intent
-from pylib.gtest import gtest_test_instance
-from pylib.gtest import local_device_gtest_run
-from pylib.gtest.test_package import TestPackage
-
-
-class TestPackageApk(TestPackage):
- """A helper class for running APK-based native tests."""
-
- def __init__(self, suite_name):
- """
- Args:
- suite_name: Name of the test suite (e.g. base_unittests).
- """
- TestPackage.__init__(self, suite_name)
- self.suite_path = os.path.join(
- constants.GetOutDirectory(), '%s_apk' % suite_name,
- '%s-debug.apk' % suite_name)
- if suite_name == 'content_browsertests':
- self._package_info = constants.PACKAGE_INFO['content_browsertests']
- elif suite_name == 'components_browsertests':
- self._package_info = constants.PACKAGE_INFO['components_browsertests']
- else:
- self._package_info = constants.PACKAGE_INFO['gtest']
-
- if suite_name == 'net_unittests':
- self._extras = {'RunInSubThread': ''}
- else:
- self._extras = []
-
- def _CreateCommandLineFileOnDevice(self, device, options):
- device.WriteFile(self._package_info.cmdline_file,
- self.suite_name + ' ' + options)
-
- def _GetFifo(self):
- # The test.fifo path is determined by:
- # testing/android/native_test/java/src/org/chromium/native_test/
- # NativeTestActivity.java and
- # testing/android/native_test_launcher.cc
- return '/data/data/' + self._package_info.package + '/files/test.fifo'
-
- def _ClearFifo(self, device):
- device.RunShellCommand('rm -f ' + self._GetFifo())
-
- def _WatchFifo(self, device, timeout, logfile=None):
- for i in range(100):
- if device.FileExists(self._GetFifo()):
- logging.info('Fifo created. Slept for %f secs' % (i * 0.5))
- break
- time.sleep(0.5)
- else:
- raise device_errors.DeviceUnreachableError(
- 'Unable to find fifo on device %s ' % self._GetFifo())
- args = shlex.split(device.old_interface.Adb()._target_arg)
- args += ['shell', 'cat', self._GetFifo()]
- return pexpect.spawn('adb', args, timeout=timeout, logfile=logfile)
-
- def _StartActivity(self, device, force_stop=True):
- device.StartActivity(
- intent.Intent(package=self._package_info.package,
- activity=self._package_info.activity,
- action='android.intent.action.MAIN',
- extras=self._extras),
- # No wait since the runner waits for FIFO creation anyway.
- blocking=False,
- force_stop=force_stop)
-
- #override
- def ClearApplicationState(self, device):
- device.ClearApplicationState(self._package_info.package)
- # Content shell creates a profile on the sdscard which accumulates cache
- # files over time.
- if self.suite_name == 'content_browsertests':
- try:
- device.RunShellCommand(
- 'rm -r %s/content_shell' % device.GetExternalStoragePath(),
- timeout=60 * 2)
- except device_errors.CommandFailedError:
- # TODO(jbudorick) Handle this exception appropriately once the
- # conversions are done.
- pass
- elif self.suite_name == 'components_browsertests':
- try:
- device.RunShellCommand(
- 'rm -r %s/components_shell' % device.GetExternalStoragePath(),
- timeout=60 * 2)
- except device_errors.CommandFailedError:
- # TODO(jbudorick) Handle this exception appropriately once the
- # conversions are done.
- pass
-
- #override
- def CreateCommandLineFileOnDevice(self, device, test_filter, test_arguments):
- self._CreateCommandLineFileOnDevice(
- device, '--gtest_filter=%s %s' % (test_filter, test_arguments))
-
- #override
- def GetAllTests(self, device):
- self._CreateCommandLineFileOnDevice(device, '--gtest_list_tests')
- try:
- self.tool.SetupEnvironment()
- # Clear and start monitoring logcat.
- self._ClearFifo(device)
- self._StartActivity(device)
- # Wait for native test to complete.
- p = self._WatchFifo(device, timeout=30 * self.tool.GetTimeoutScale())
- p.expect('<<ScopedMainEntryLogger')
- p.close()
- finally:
- self.tool.CleanUpEnvironment()
- # We need to strip the trailing newline.
- content = [line.rstrip() for line in p.before.splitlines()]
- return gtest_test_instance.ParseGTestListTests(content)
-
- #override
- def SpawnTestProcess(self, device):
- try:
- self.tool.SetupEnvironment()
- self._ClearFifo(device)
- # Doesn't need to stop an Activity because ClearApplicationState() is
- # always called before this call and so it is already stopped at this
- # point.
- self._StartActivity(device, force_stop=False)
- finally:
- self.tool.CleanUpEnvironment()
- logfile = android_commands.NewLineNormalizer(sys.stdout)
- return self._WatchFifo(device, timeout=10, logfile=logfile)
-
- #override
- def Install(self, device):
- self.tool.CopyFiles(device)
- device.Install(self.suite_path)
-
- #override
- def PullAppFiles(self, device, files, directory):
- local_device_gtest_run.PullAppFilesImpl(
- device, self._package_info.package, files, directory)
« no previous file with comments | « build/android/pylib/gtest/test_package.py ('k') | build/android/pylib/gtest/test_package_exe.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698