From 2d1a214d38abd5931e67ca0e5e0b1aa4d29c24c7 Mon Sep 17 00:00:00 2001 From: Dennis Kempin Date: Thu, 8 Sep 2022 19:58:54 +0000 Subject: [PATCH] tools/test_target: Fix mingw64 usage You can now use: ./tools/test_target --build-target=mingw64 set host && source .envrc to set up the local environment to build/test via wine64. BUG=b:241495641 TEST=see above Change-Id: I498d4fda4cb84c2b8326e91f10b42cf33d8c8c41 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3885375 Reviewed-by: Daniel Verkamp Commit-Queue: Dennis Kempin Tested-by: Dennis Kempin --- tools/impl/test_target.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/impl/test_target.py b/tools/impl/test_target.py index c8a0f32748..f5bb93edc0 100755 --- a/tools/impl/test_target.py +++ b/tools/impl/test_target.py @@ -193,7 +193,7 @@ def guess_emulator(native_triple: Triple, build_triple: Triple) -> Optional[List return None # Use wine64 to run windows binaries on linux if build_triple.sys == "windows" and str(native_triple) == "x86_64-unknown-linux-gnu": - return ["wine64"] + return ["wine64-stable"] # Use qemu to run aarch64 on x86 if build_triple.arch == "aarch64" and native_triple.arch == "x86_64": return ["qemu-aarch64-static"] @@ -221,7 +221,11 @@ class TestTarget(object): @classmethod def default(cls): - return cls(os.environ.get("CROSVM_TEST_TARGET", "host")) + build_target = os.environ.get("CARGO_BUILD_TARGET", None) + return cls( + os.environ.get("CROSVM_TEST_TARGET", "host"), + Triple.from_str(build_target) if build_target else None, + ) def __init__( self, @@ -324,7 +328,7 @@ def get_cargo_env(target: TestTarget): cargo_target = str(target.build_triple) upper_target = cargo_target.upper().replace("-", "_") env["CARGO_BUILD_TARGET"] = cargo_target - if not target.is_host: + if not target.is_host or target.emulator_cmd: script_path = CROSVM_ROOT / "tools/test_target" env[f"CARGO_TARGET_{upper_target}_RUNNER"] = f"{script_path} exec-file" env["CROSVM_TEST_TARGET"] = target.target_str @@ -487,7 +491,7 @@ def main(): if args.command == "set": if len(args.remainder) != 1: parser.error("Need to specify a target.") - set_target(TestTarget(args.remainder[0], args.build_target)) + set_target(TestTarget(args.remainder[0], Triple.from_shorthand(args.build_target))) return if args.target: