def _AmInstrumentTestSetup(self, app_path, test_path, runner_package, environment_variables): config = {'runner': runner_package} if environment_variables: config['environment_vars'] = ','.join( '%s=%s' % (k, v) for k, v in environment_variables.iteritems()) self._app_id = self._UploadAppToDevice(app_path) data_deps = self._test_instance.GetDataDependencies() if data_deps: with tempfile.NamedTemporaryFile(suffix='.zip') as test_with_deps: sdcard_files = [] host_test = os.path.basename(test_path) with zipfile.ZipFile(test_with_deps.name, 'w') as zip_file: zip_file.write(test_path, host_test, zipfile.ZIP_DEFLATED) for h, _ in data_deps: if os.path.isdir(h): zip_utils.WriteToZipFile(zip_file, h, '.') sdcard_files.extend(os.listdir(h)) else: zip_utils.WriteToZipFile(zip_file, h, os.path.basename(h)) sdcard_files.append(os.path.basename(h)) config['sdcard_files'] = ','.join(sdcard_files) config['host_test'] = host_test self._test_id = self._UploadTestToDevice( 'robotium', test_with_deps.name, app_id=self._app_id) else: self._test_id = self._UploadTestToDevice('robotium', test_path) logging.info('Setting config: %s' % config) self._SetTestConfig('robotium', config)
def _CreateDeviceZip(zip_path, host_device_tuples): with zipfile.ZipFile(zip_path, 'w') as zip_file: for host_path, device_path in host_device_tuples: zip_utils.WriteToZipFile(zip_file, host_path, device_path)