Beispiel #1
0
 def testRequireVersion_versionTooHigh(self):
     numpy = FakeModule('numpy', '2.3')
     with self.assertRaises(ImportError) as error:
         modules_util.RequireVersion(numpy, '1.0', '2.0')
     self.assertEqual(
         str(error.exception), 'numpy has version 2.3, but version'
         ' at or above 1.0 and below 2.0 is required')
Beispiel #2
0
 def testRequireVersion_versionTooLow(self):
     numpy = FakeModule('numpy', '2.3')
     with self.assertRaises(ImportError) as error:
         modules_util.RequireVersion(numpy, '2.5')
     self.assertEqual(
         str(error.exception),
         'numpy has version 2.3, but version 2.5 or higher is required')
def ImportRequiredModule(module):
    """Tries to import the desired module (DEPRECATED).

  External modules should be provided via vpython and imported using the
  regular python `import` statement. To ensure a particular module version
  has been loaded use modules_util.RequireVersion instead.

  Returns:
    The module on success, raises error on failure.
  Raises:
    ImportError: The import failed."""
    versions = MODULES.get(module)
    if versions is None:
        raise NotImplementedError('Please teach telemetry about module %s.' %
                                  module)

    module = importlib.import_module(module)
    modules_util.RequireVersion(module, *versions)
    return module
Beispiel #4
0
from devil.android import device_utils
from devil.android.sdk import adb_wrapper
from devil.android.tools import device_status
from devil.android.tools import script_common
from devil.utils import logging_common
from devil.utils import lsusb
# TODO(jbudorick): Resolve this after experimenting w/ disabling the USB reset.
from devil.utils import reset_usb  # pylint: disable=unused-import

logger = logging.getLogger(__name__)

from py_utils import modules_util


# Script depends on features from psutil version 2.0 or higher.
modules_util.RequireVersion(psutil, '2.0')


def KillAllAdb():
  def get_all_adb():
    for p in psutil.process_iter():
      try:
        # Retrieve all required process infos at once.
        pinfo = p.as_dict(attrs=['pid', 'name', 'cmdline'])
        if pinfo['name'] == 'adb':
          pinfo['cmdline'] = ' '.join(pinfo['cmdline'])
          yield p, pinfo
      except (psutil.NoSuchProcess, psutil.AccessDenied):
        pass

  for sig in [signal.SIGTERM, signal.SIGQUIT, signal.SIGKILL]:
Beispiel #5
0
 def testRequireVersion_valid(self):
     numpy = FakeModule('numpy', '2.3')
     try:
         modules_util.RequireVersion(numpy, '1.0')
     except ImportError:
         self.fail('ImportError raised unexpectedly')