aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/testing_commands.py
diff options
context:
space:
mode:
authorMukilan Thiyagarajan <mukilan@igalia.com>2024-08-26 18:38:21 +0530
committerGitHub <noreply@github.com>2024-08-26 13:08:21 +0000
commitb6d5ac09b0b2acbb0f5b00232e53d0111a159063 (patch)
tree18842738e78794ba096a0af44b16d37695cff6d7 /python/servo/testing_commands.py
parent4397d8a02156a009d16d8b79796b1e54ca635624 (diff)
downloadservo-b6d5ac09b0b2acbb0f5b00232e53d0111a159063.tar.gz
servo-b6d5ac09b0b2acbb0f5b00232e53d0111a159063.zip
mach: introduce `BuildTarget` abstraction (#33114)
Introduce a new `BuildTarget` abstraction to centralize the code for supporting different ways of choosing the build target (e.g --android, --target x86_64-linux-android , --target aarch64-linux-ohos). This is currently handled in an adhoc fashion in different commands ( mach package, install, run) leading to a proliferation of keyword parameters for the commands and duplicated logic. The patch introduces a new `allow_target_configuration` decorator to do the validation and parsing of these parameters into the appropriate `BuildTarget` subclass, which is now stored as an instance attribute of the CommandBase class. All the code that previously relied on `self.cross_compile_target` has been switched to use the BuildTarget. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Diffstat (limited to 'python/servo/testing_commands.py')
-rw-r--r--python/servo/testing_commands.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py
index b05a89a7a30..d3d09745eee 100644
--- a/python/servo/testing_commands.py
+++ b/python/servo/testing_commands.py
@@ -321,12 +321,10 @@ class MachCommands(CommandBase):
)
return self._test_wpt(build_type=build_type, android=True, **kwargs)
- def _test_wpt(self, build_type: BuildType, with_asan=False, android=False, **kwargs):
- if not android:
- os.environ.update(self.build_env())
-
+ @CommandBase.allow_target_configuration
+ def _test_wpt(self, build_type: BuildType, with_asan=False, **kwargs):
# TODO(mrobinson): Why do we pass the wrong binary path in when running WPT on Android?
- binary_path = self.get_binary_path(build_type=build_type, asan=with_asan)
+ binary_path = self.get_binary_path(build_type, asan=with_asan)
return_value = wpt.run.run_tests(binary_path, **kwargs)
return return_value if not kwargs["always_succeed"] else 0
@@ -388,7 +386,6 @@ class MachCommands(CommandBase):
avd = "servo-x86"
target = "i686-linux-android"
print("Assuming --target " + target)
- self.cross_compile_target = target
env = self.build_env()
os.environ["PATH"] = env["PATH"]