[LLDB] Fix TestDataFormatterSynthVal.py for AArch64/Windows

Since 44363f2 various tests have started passing but introduced a
expression evaluation failure in TestDataFormatterSynthVal.py.
This patch marks the expression evaluation part as skipped while rest
of the test passes.
This patch aslo introduces a new helper isAArch64Windows in lldbtest.py.
This commit is contained in:
Muhammad Omair Javaid
2023-05-16 00:09:13 +04:00
parent cd3ff251f2
commit 039b28e14e
2 changed files with 11 additions and 3 deletions

View File

@@ -1252,6 +1252,13 @@ class Base(unittest2.TestCase):
return True
return self.isAArch64() and "paca" in self.getCPUInfo()
def isAArch64Windows(self):
"""Returns true if the architecture is AArch64 and platform windows."""
if self.getPlatform() == 'windows':
arch = self.getArchitecture().lower()
return arch in ["aarch64", "arm64", "arm64e"]
return False
def getArchitecture(self):
"""Returns the architecture in effect the test suite is running with."""
module = builder_module()

View File

@@ -96,9 +96,10 @@ class DataFormatterSynthValueTestCase(TestBase):
# check that an aptly defined synthetic provider does not affect
# one-lining
self.expect(
"expression struct Struct { myInt theInt{12}; }; Struct()",
substrs=['(theInt = 12)'])
if self.isAArch64Windows():
self.expect(
"expression struct Struct { myInt theInt{12}; }; Struct()",
substrs=['(theInt = 12)'])
# check that we can use a synthetic value in a summary
self.runCmd("type summary add hasAnInt -s ${var.theInt}")