mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Auto merge of #117799 - erickt:fuchsia, r=tmandry
Switch `fuchsia-test-runner.py` to `ffx product` The subcommand `ffx product-bundle` has been removed, and replaced with the subcommand `ffx product`. This changes `fuchsia-test-runner.py` to use it to download the SDK and product bundle for the latest release of Fuchsia.
This commit is contained in:
commit
6f308b8713
@ -12,6 +12,7 @@ from dataclasses import dataclass
|
||||
import fcntl
|
||||
import glob
|
||||
import hashlib
|
||||
import io
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
@ -276,27 +277,60 @@ class TestEnvironment:
|
||||
stderr=self.subprocess_output(),
|
||||
)
|
||||
|
||||
# Start emulator
|
||||
self.log_info("Starting emulator...")
|
||||
product_bundle = "terminal.qemu-" + self.triple_to_arch(self.target)
|
||||
# Look up the product bundle transfer manifest.
|
||||
self.log_info("Looking up the product bundle transfer manifest...")
|
||||
product_name = "minimal." + self.triple_to_arch(self.target)
|
||||
fuchsia_version = "14.20230811.2.1"
|
||||
|
||||
# FIXME: We should be able to replace this with the machine parsable
|
||||
# `ffx --machine json product lookup ...` once F15 is released.
|
||||
out = subprocess.check_output(
|
||||
[
|
||||
ffx_path,
|
||||
"product",
|
||||
"lookup",
|
||||
product_name,
|
||||
fuchsia_version,
|
||||
"--base-url",
|
||||
"gs://fuchsia/development/" + fuchsia_version,
|
||||
],
|
||||
env=ffx_env,
|
||||
stderr=self.subprocess_output(),
|
||||
)
|
||||
|
||||
self.log_debug(out)
|
||||
|
||||
for line in io.BytesIO(out):
|
||||
if line.startswith(b"gs://"):
|
||||
transfer_manifest_url = line.rstrip()
|
||||
break
|
||||
else:
|
||||
raise Exception("Unable to parse transfer manifest")
|
||||
|
||||
# Download the product bundle.
|
||||
product_bundle_dir = os.path.join(self.tmp_dir(), 'product-bundle')
|
||||
subprocess.check_call(
|
||||
[
|
||||
ffx_path,
|
||||
"product-bundle",
|
||||
"get",
|
||||
product_bundle,
|
||||
"product",
|
||||
"download",
|
||||
transfer_manifest_url,
|
||||
product_bundle_dir,
|
||||
"--force",
|
||||
],
|
||||
env=ffx_env,
|
||||
stdout=self.subprocess_output(),
|
||||
stderr=self.subprocess_output(),
|
||||
)
|
||||
|
||||
# Start emulator
|
||||
# FIXME: condition --accel hyper on target arch matching host arch
|
||||
subprocess.check_call(
|
||||
[
|
||||
ffx_path,
|
||||
"emu",
|
||||
"start",
|
||||
product_bundle,
|
||||
product_bundle_dir,
|
||||
"--headless",
|
||||
"--log",
|
||||
self.emulator_log_path(),
|
||||
|
@ -692,10 +692,12 @@ Fuchsia's test runner interacts with the Fuchsia emulator and is located at
|
||||
test environment with:
|
||||
|
||||
```sh
|
||||
src/ci/docker/scripts/fuchsia-test-runner.py start \
|
||||
( \
|
||||
src/ci/docker/scripts/fuchsia-test-runner.py start \
|
||||
--rust-build ${RUST_SRC_PATH}/build \
|
||||
--sdk ${SDK_PATH} \
|
||||
--target {x86_64-unknown-fuchsia|aarch64-unknown-fuchsia} \
|
||||
)
|
||||
```
|
||||
|
||||
Where `${RUST_SRC_PATH}/build` is the `build-dir` set in `config.toml` and
|
||||
|
Loading…
Reference in New Issue
Block a user