Lines Matching +full:pkg +full:- +full:config +full:- +full:meta
2 # Use of this source code is governed by a BSD-style license that can be
4 """Common methods and variables used by Cr-Fuchsia testing infrastructure."""
21 def _find_src_root() -> str:
31 # have folders like third_party/fuchsia-sdk in it.
35 def _find_fuchsia_images_root() -> str:
39 return os.path.join(DIR_SRC_ROOT, 'third_party', 'fuchsia-sdk', 'images')
45 def _find_fuchsia_internal_images_root() -> str:
49 return IMAGES_ROOT + '-internal'
57 def _find_fuchsia_sdk_root() -> str:
61 return os.path.join(DIR_SRC_ROOT, 'third_party', 'fuchsia-sdk', 'sdk')
67 def _find_fuchsia_gn_sdk_root() -> str:
71 return os.path.join(DIR_SRC_ROOT, 'third_party', 'fuchsia-gn-sdk', 'src')
80 def set_ffx_isolate_dir(isolate_dir: str) -> None:
90 version_file = os.path.join(SDK_ROOT, 'meta', 'manifest.json')
170 """Starts the ffx daemon by using doctor --restart-daemon since daemon start
173 Note, doctor --restart-daemon usually fails since the timeout in ffx is
176 Also, doctor --restart-daemon always restarts the daemon, so this function
181 run_ffx_command(cmd=('doctor', '--restart-daemon'), check=False)
187 run_ffx_command(cmd=('daemon', 'stop', '-t', '10000'))
194 **kwargs) -> subprocess.CompletedProcess:
203 check: If True, CalledProcessError is raised if ffx returns a non-zero
244 encoding: Optional[str] = 'utf-8',
245 **kwargs) -> subprocess.Popen:
262 ffx_cmd.extend(('--machine', 'json'))
264 ffx_cmd.extend(('--target', target_id))
266 for config in configs:
267 ffx_cmd.extend(('--config', config))
273 def read_package_paths(out_dir: str, pkg_name: str) -> List[str]:
280 f'{pkg_name}.meta')) as meta_file:
288 def register_common_args(parser: ArgumentParser) -> None:
292 '--out-dir',
293 '-C',
298 def register_device_args(parser: ArgumentParser) -> None:
301 device_args.add_argument('--target-id',
304 'a node-name (e.g. fuchsia-emulator) or an '
311 def register_log_args(parser: ArgumentParser) -> None:
315 log_args.add_argument('--logs-dir',
320 def get_component_uri(package: str) -> str:
323 if package.startswith('fuchsia-pkg://'):
325 return f'fuchsia-pkg://{REPO_ALIAS}/{package}#meta/{package}.cm'
328 def resolve_packages(packages: List[str], target_id: Optional[str]) -> None:
332 subprocess.run(ssh_prefix + ['--', 'pkgctl', 'gc'], check=False)
336 **kwargs) -> Optional[subprocess.CompletedProcess]:
340 if i == retries - 1:
351 '--', 'pkgctl', 'resolve',
352 'fuchsia-pkg://%s/%s' % (REPO_ALIAS, package)
357 def get_ssh_address(target_id: Optional[str]) -> str:
359 return run_ffx_command(cmd=('target', 'get-ssh-address'),
364 def find_in_dir(target_name: str, parent_dir: str) -> Optional[str]:
383 def find_image_in_sdk(product_name: str) -> Optional[str]:
399 def catch_sigterm() -> None:
407 def wait_for_sigterm(extra_msg: str = '') -> None:
409 Spin-wait for either ctrl+c or sigterm. Caller can use try-finally
421 logging.info('Ctrl-C received; %s', extra_msg)
426 def get_system_info(target: Optional[str] = None) -> Tuple[str, str]:
433 info_cmd = run_ffx_command(cmd=('--machine', 'json', 'target', 'show'),