From 039b28e14e6d5a4b9b9b333695dabe9dc57233b0 Mon Sep 17 00:00:00 2001 From: Muhammad Omair Javaid Date: Tue, 16 May 2023 00:09:13 +0400 Subject: [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. --- lldb/packages/Python/lldbsuite/test/lldbtest.py | 7 +++++++ .../data-formatter-synthval/TestDataFormatterSynthVal.py | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'lldb') diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py index 31539f6a768b..0ca0fac7bb3f 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbtest.py +++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -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() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py b/lldb/test/API/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py index 2e1367563cd7..67619287ef65 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py @@ -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}") -- cgit v1.2.1