# 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. """Base class representing GTest test packages.""" # pylint: disable=R0201 class TestPackage(object): """A helper base class for both APK and stand-alone executables. Args: suite_name: Name of the test suite (e.g. base_unittests). """ def __init__(self, suite_name): self.suite_name = suite_name def ClearApplicationState(self, device): """Clears the application state. Args: device: Instance of DeviceUtils. """ raise NotImplementedError('Method must be overridden.') def CreateCommandLineFileOnDevice(self, device, test_filter, test_arguments): """Creates a test runner script and pushes to the device. Args: device: Instance of DeviceUtils. test_filter: A test_filter flag. test_arguments: Additional arguments to pass to the test binary. """ raise NotImplementedError('Method must be overridden.') def GetAllTests(self, device): """Returns a list of all tests available in the test suite. Args: device: Instance of DeviceUtils. """ raise NotImplementedError('Method must be overridden.') def GetGTestReturnCode(self, _device): return None def SpawnTestProcess(self, device): """Spawn the test process. Args: device: Instance of DeviceUtils. Returns: An instance of pexpect spawn class. """ raise NotImplementedError('Method must be overridden.') def Install(self, device): """Install the test package to the device. Args: device: Instance of DeviceUtils. """ raise NotImplementedError('Method must be overridden.') def PullAppFiles(self, device, files, directory): """Pull application data from the device. Args: device: Instance of DeviceUtils. files: A list of paths relative to the application data directory to retrieve from the device. directory: The host directory to which files should be pulled. """ raise NotImplementedError('Method must be overridden.')