[lldb][AArch64][test] Require SVE for some Linux tests

These tests had only ever been run on SVE or SVE+SME systems.
While investigating #138717 I found they failed on an SME only
system.

This happens because before the first stop we try to initialise
SVE registers while outside of streaming mode. Which causes a
SIGILL.

To fix this, require SVE to be present.

I could go in and make these work on SME only, but it's more
complex and I will be adding SME only specific tests in
future anyway.
This commit is contained in:
David Spickett
2025-10-30 16:21:24 +00:00
parent 9a51879253
commit f81444637c

View File

@@ -97,6 +97,9 @@ class RegisterCommandsTestCase(TestBase):
@skipIf(oslist=no_match(["linux"]))
def test_aarch64_dynamic_regset_config(self):
"""Test AArch64 Dynamic Register sets configuration."""
if not self.isAArch64SVE():
self.skipTest("SVE must be present")
register_sets = self.setup_register_config_test()
for registerSet in register_sets:
@@ -259,6 +262,8 @@ class RegisterCommandsTestCase(TestBase):
def test_aarch64_dynamic_regset_config_sme_write_za_to_enable(self):
"""Test that ZA and ZT0 (if present) shows as 0s when disabled and
can be enabled by writing to ZA."""
if not self.isAArch64SVE():
self.skipTest("SVE must be present.")
if not self.isAArch64SME():
self.skipTest("SME must be present.")
@@ -270,6 +275,8 @@ class RegisterCommandsTestCase(TestBase):
def test_aarch64_dynamic_regset_config_sme_write_zt0_to_enable(self):
"""Test that ZA and ZT0 (if present) shows as 0s when disabled and
can be enabled by writing to ZT0."""
if not self.isAArch64SVE():
self.skipTest("SVE must be present.")
if not self.isAArch64SME():
self.skipTest("SME must be present.")
if not self.isAArch64SME2():