def RunTests(self): # Affinitize the tests. self._SplitTestsByAffinity() if not self._test_buckets and not self._no_device_tests: raise local_device_test_run.NoTestsError() def run_perf_tests(shard_id): if shard_id is None: s = HostTestShard(self._env, self._test_instance, self._no_device_tests, retries=3, timeout=self._timeout) else: if device_status.IsBlacklisted(str(self._devices[shard_id]), self._env.blacklist): logging.warning( 'Device %s is not active. Will not create shard %s.', str(self._devices[shard_id]), shard_id) return None s = DeviceTestShard(self._env, self._test_instance, self._devices[shard_id], shard_id, self._test_buckets[shard_id], retries=self._env.max_tries, timeout=self._timeout) return s.RunTestsOnShard() device_indices = range(min(len(self._devices), len(self._test_buckets))) if self._no_device_tests: device_indices.append(None) shards = parallelizer.Parallelizer(device_indices).pMap(run_perf_tests) return [x for x in shards.pGet(self._timeout) if x is not None]
def __init__(self, devices): parallel_devices = parallelizer.Parallelizer(devices) descriptions = parallel_devices.pMap(lambda d: d.build_description).pGet( None) msg = ('More than one device available. Use -d/--device to select a device ' 'by serial.\n\nAvailable devices:\n') for d, desc in zip(devices, descriptions): msg += ' %s (%s)\n' % (d, desc) super(MultipleDevicesError, self).__init__(msg, is_infra_error=True)
def run_devices_tests(): if not self._test_buckets: return [] if self._devices is None: self._devices = self._GetAllDevices( self._env.devices, self._test_instance.known_devices_file) device_indices = range(min(len(self._devices), len(self._test_buckets))) shards = parallelizer.Parallelizer(device_indices).pMap( device_shard_helper) return [x for x in shards.pGet(self._timeout) if x is not None]
def main(): logging.getLogger().setLevel(logging.INFO) parser = argparse.ArgumentParser() script_common.AddDeviceArguments(parser) parser.add_argument('--adb-path', help='Absolute path to the adb binary to use.') args = parser.parse_args() devil_dynamic_config = devil_env.EmptyConfig() if args.adb_path: devil_dynamic_config['dependencies'].update( devil_env.LocalConfigItem( 'adb', devil_env.GetPlatform(), args.adb_path)) devil_env.config.Initialize(configs=[devil_dynamic_config]) reboot_into_bootloader(args.devices) devices = [ d for d in fastboot.Fastboot.Devices() if not args.devices or str(d) in args.devices] parallel_devices = parallelizer.Parallelizer(devices) parallel_devices.pMap(unlock_bootloader).pGet(None) return 0
def testMethodCall(self): test_data = ['abc_foo', 'def_foo', 'ghi_foo'] expected = ['abc_bar', 'def_bar', 'ghi_bar'] r = parallelizer.Parallelizer(test_data).replace('_foo', '_bar').pGet(0.1) self.assertEquals(expected, r)
def testInitEmptyList(self): with self.assertRaises(AssertionError): parallelizer.Parallelizer([])
def testInitWithNone(self): with self.assertRaises(AssertionError): parallelizer.Parallelizer(None)
def testInitEmptyList(self): r = parallelizer.Parallelizer([]).replace('a', 'b').pGet(0.1) self.assertEquals([], r)