llvm-project/lldb/test/API/macosx/ptrauth-address-expressions/TestPtrauthAddressExpressions.py
Jonas Devlieghere 2238dcc393
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00

28 lines
1011 B
Python

"""Test that AArch64 PAC bits are stripped from address expression arguments"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestPtrauthAddressExpressions(TestBase):
NO_DEBUG_INFO_TESTCASE = True
# On Darwin systems, arch arm64e means ARMv8.3 with ptrauth
# ABI used.
@skipIf(archs=no_match(["arm64e"]))
def test(self):
# Skip this test if not running on AArch64 target that supports PAC
if not self.isAArch64PAuth():
self.skipTest("Target must support pointer authentication.")
self.source = "main.c"
self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "break here", lldb.SBFileSpec(self.source, False)
)
self.expect("p fptr", substrs=[self.source])
self.expect("ima loo -va fptr", substrs=[self.source])
self.expect("break set -a fptr", substrs=[self.source])