https://github.com/e-kwsm updated https://github.com/llvm/llvm-project/pull/94034
>From 10dd5f4273efe6288ace38227561d2122d1ff05e Mon Sep 17 00:00:00 2001 From: Eisuke Kawashima <e-k...@users.noreply.github.com> Date: Sat, 11 May 2024 02:39:21 +0900 Subject: [PATCH] fix(lldb/**.py): fix invalid escape sequences --- lldb/examples/python/crashlog.py | 8 +- lldb/examples/python/delta.py | 2 +- lldb/examples/python/gdbremote.py | 4 +- lldb/examples/python/jump.py | 6 +- lldb/examples/python/performance.py | 2 +- lldb/examples/python/symbolication.py | 6 +- .../Python/lldbsuite/test/lldbpexpect.py | 2 +- .../test/test_runner/process_control.py | 2 +- .../command/backticks/TestBackticksInAlias.py | 4 +- .../TestMemoryAllocSettings.py | 2 +- .../API/commands/expression/test/TestExprs.py | 2 +- .../TestGuiExpandThreadsTree.py | 2 +- lldb/test/API/commands/help/TestHelp.py | 6 +- .../TestLaunchWithShellExpand.py | 2 +- .../register/TestRegistersUnavailable.py | 4 +- .../register_command/TestRegisters.py | 6 +- .../API/commands/settings/TestSettings.py | 12 +- .../target/basic/TestTargetCommand.py | 2 +- .../dwo/TestDumpDwo.py | 16 +- .../oso/TestDumpOso.py | 16 +- .../API/commands/trace/TestTraceDumpInfo.py | 2 +- .../API/commands/trace/TestTraceEvents.py | 4 +- .../API/commands/trace/TestTraceStartStop.py | 12 +- lldb/test/API/commands/trace/TestTraceTSC.py | 10 +- .../driver/quit_speed/TestQuitWithProcess.py | 2 +- .../TestBreakpointByLineAndColumn.py | 2 +- .../TestBreakpointLocations.py | 2 +- .../TestDataFormatterAdv.py | 8 +- .../TestDataFormatterCpp.py | 6 +- .../TestDataFormatterObjCNSContainer.py | 16 +- .../TestDataFormatterGenericUnordered.py | 22 +-- .../TestTypeSummaryListArg.py | 4 +- .../gdb_remote_client/TestXMLRegisterFlags.py | 10 +- .../memory-region/TestMemoryRegion.py | 2 +- .../target_var/TestTargetVar.py | 2 +- .../completion/TestIOHandlerCompletion.py | 2 +- .../API/lang/c/enum_types/TestEnumTypes.py | 4 +- .../c/function_types/TestFunctionTypes.py | 2 +- .../TestRegisterVariables.py | 2 +- .../API/lang/c/set_values/TestSetValues.py | 4 +- lldb/test/API/lang/c/strings/TestCStrings.py | 2 +- .../API/lang/c/tls_globals/TestTlsGlobals.py | 8 +- .../API/lang/cpp/char1632_t/TestChar1632T.py | 8 +- .../cpp/class_static/TestStaticVariables.py | 4 +- .../lang/cpp/class_types/TestClassTypes.py | 2 +- .../cpp/dynamic-value/TestDynamicValue.py | 2 +- .../TestLibcxxInternalsRecognizer.py | 2 +- .../API/lang/cpp/namespace/TestNamespace.py | 4 +- .../lang/cpp/signed_types/TestSignedTypes.py | 4 +- .../cpp/unsigned_types/TestUnsignedTypes.py | 2 +- .../test/API/lang/mixed/TestMixedLanguages.py | 4 +- .../lang/objc/foundation/TestObjCMethods.py | 2 +- .../objc/foundation/TestObjCMethodsNSArray.py | 10 +- .../objc/foundation/TestObjCMethodsNSError.py | 2 +- .../objc/foundation/TestObjCMethodsString.py | 10 +- .../TestObjCDynamicValue.py | 2 +- .../TestObjCBuiltinTypes.py | 4 +- .../TestAArch64LinuxMTEMemoryTagCoreFile.py | 44 ++--- .../TestAArch64LinuxMTEMemoryTagAccess.py | 162 +++++++++--------- .../TestAArch64LinuxMTEMemoryTagFaults.py | 6 +- .../TestAArch64LinuxTaggedMemoryRegion.py | 6 +- .../macosx/add-dsym/TestAddDsymDownload.py | 2 +- .../TestFirmwareCorefiles.py | 2 +- .../kern-ver-str/TestKernVerStrLCNOTE.py | 2 +- .../TestMultipleBinaryCorefile.py | 2 +- .../macosx/simulator/TestSimulatorPlatform.py | 2 +- .../skinny-corefile/TestSkinnyCorefile.py | 2 +- .../address_range/TestAddressRange.py | 6 +- .../TestTargetArchFromModule.py | 2 +- .../API/source-manager/TestSourceManager.py | 2 +- .../TestDAP_extendedStackTrace.py | 4 +- .../lldb-server/TestGdbRemoteModuleInfo.py | 6 +- .../API/tools/lldb-server/TestPtyServer.py | 2 +- .../TestGdbRemoteTargetXmlPacket.py | 2 +- lldb/test/API/types/AbstractBase.py | 6 +- lldb/utils/lui/sourcewin.py | 2 +- 76 files changed, 282 insertions(+), 276 deletions(-) diff --git a/lldb/examples/python/crashlog.py b/lldb/examples/python/crashlog.py index ab8c2fcaf034b..6615c3353ffe4 100755 --- a/lldb/examples/python/crashlog.py +++ b/lldb/examples/python/crashlog.py @@ -296,7 +296,7 @@ class DarwinImage(symbolication.Image): except: dsymForUUIDBinary = "" - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") def __init__( self, text_addr_lo, text_addr_hi, identifier, version, uuid, path, verbose @@ -501,7 +501,7 @@ def find_image_with_identifier(self, identifier): for image in self.images: if image.identifier == identifier: return image - regex_text = "^.*\.%s$" % (re.escape(identifier)) + regex_text = r"^.*\.%s$" % (re.escape(identifier)) regex = re.compile(regex_text) for image in self.images: if regex.match(image.identifier): @@ -925,7 +925,7 @@ def get(cls): version = r"(?:" + super().version + r"\s+)?" address = r"(0x[0-9a-fA-F]{4,})" # 4 digits or more - symbol = """ + symbol = r""" (?: [ ]+ (?P<symbol>.+) @@ -1095,7 +1095,7 @@ def parse_normal(self, line): self.crashlog.process_identifier = line[11:].strip() elif line.startswith("Version:"): version_string = line[8:].strip() - matched_pair = re.search("(.+)\((.+)\)", version_string) + matched_pair = re.search(r"(.+)\((.+)\)", version_string) if matched_pair: self.crashlog.process_version = matched_pair.group(1) self.crashlog.process_compatability_version = matched_pair.group(2) diff --git a/lldb/examples/python/delta.py b/lldb/examples/python/delta.py index eeb3c177cfa90..f847b95ab119f 100755 --- a/lldb/examples/python/delta.py +++ b/lldb/examples/python/delta.py @@ -99,7 +99,7 @@ def parse_log_file(file, options): print("# Log file: '%s'" % file) print("#----------------------------------------------------------------------") - timestamp_regex = re.compile("(\s*)([1-9][0-9]+\.[0-9]+)([^0-9].*)$") + timestamp_regex = re.compile(r"(\s*)([1-9][0-9]+\.[0-9]+)([^0-9].*)$") base_time = 0.0 last_time = 0.0 diff --git a/lldb/examples/python/gdbremote.py b/lldb/examples/python/gdbremote.py index 40ee15853fdb2..0bbfc1a0f1eed 100755 --- a/lldb/examples/python/gdbremote.py +++ b/lldb/examples/python/gdbremote.py @@ -1537,12 +1537,12 @@ def parse_gdb_log(file, options): a long time during a preset set of debugger commands.""" tricky_commands = ["qRegisterInfo"] - timestamp_regex = re.compile("(\s*)([1-9][0-9]+\.[0-9]+)([^0-9].*)$") + timestamp_regex = re.compile(r"(\s*)([1-9][0-9]+\.[0-9]+)([^0-9].*)$") packet_name_regex = re.compile("([A-Za-z_]+)[^a-z]") packet_transmit_name_regex = re.compile( "(?P<direction>send|read) packet: (?P<packet>.*)" ) - packet_contents_name_regex = re.compile("\$([^#]*)#[0-9a-fA-F]{2}") + packet_contents_name_regex = re.compile(r"\$([^#]*)#[0-9a-fA-F]{2}") packet_checksum_regex = re.compile(".*#[0-9a-fA-F]{2}$") packet_names_regex_str = "(" + "|".join(gdb_remote_commands.keys()) + ")(.*)" packet_names_regex = re.compile(packet_names_regex_str) diff --git a/lldb/examples/python/jump.py b/lldb/examples/python/jump.py index e086df5fd1528..8d52bd9af43f6 100644 --- a/lldb/examples/python/jump.py +++ b/lldb/examples/python/jump.py @@ -38,7 +38,7 @@ def parse_linespec(linespec, frame, result): ) if not matched: - mo = re.match("^\+([0-9]+)$", linespec) + mo = re.match(r"^\+([0-9]+)$", linespec) if mo is not None: matched = True # print "Matched +<count>" @@ -54,7 +54,7 @@ def parse_linespec(linespec, frame, result): ) if not matched: - mo = re.match("^\-([0-9]+)$", linespec) + mo = re.match(r"^\-([0-9]+)$", linespec) if mo is not None: matched = True # print "Matched -<count>" @@ -79,7 +79,7 @@ def parse_linespec(linespec, frame, result): breakpoint = target.BreakpointCreateByLocation(file_name, line_number) if not matched: - mo = re.match("\*((0x)?([0-9a-f]+))$", linespec) + mo = re.match(r"\*((0x)?([0-9a-f]+))$", linespec) if mo is not None: matched = True # print "Matched <address-expression>" diff --git a/lldb/examples/python/performance.py b/lldb/examples/python/performance.py index 869a0b061cf85..b86b5a52522e0 100755 --- a/lldb/examples/python/performance.py +++ b/lldb/examples/python/performance.py @@ -346,7 +346,7 @@ def __init__(self, pid): def Measure(self): output = subprocess.getoutput(self.command).split("\n")[-1] - values = re.split("[-+\s]+", output) + values = re.split(r"[-+\s]+", output) for idx, stat in enumerate(values): multiplier = 1 if stat: diff --git a/lldb/examples/python/symbolication.py b/lldb/examples/python/symbolication.py index f6dcc8b9a7943..b16745ee963c9 100755 --- a/lldb/examples/python/symbolication.py +++ b/lldb/examples/python/symbolication.py @@ -177,9 +177,9 @@ class Section: """Class that represents an load address range""" sect_info_regex = re.compile("(?P<name>[^=]+)=(?P<range>.*)") - addr_regex = re.compile("^\s*(?P<start>0x[0-9A-Fa-f]+)\s*$") + addr_regex = re.compile(r"^\s*(?P<start>0x[0-9A-Fa-f]+)\s*$") range_regex = re.compile( - "^\s*(?P<start>0x[0-9A-Fa-f]+)\s*(?P<op>[-+])\s*(?P<end>0x[0-9A-Fa-f]+)\s*$" + r"^\s*(?P<start>0x[0-9A-Fa-f]+)\s*(?P<op>[-+])\s*(?P<end>0x[0-9A-Fa-f]+)\s*$" ) def __init__(self, start_addr=None, end_addr=None, name=None): @@ -557,7 +557,7 @@ def find_images_with_identifier(self, identifier): if image.identifier == identifier: images.append(image) if len(images) == 0: - regex_text = "^.*\.%s$" % (re.escape(identifier)) + regex_text = r"^.*\.%s$" % (re.escape(identifier)) regex = re.compile(regex_text) for image in self.images: if regex.match(image.identifier): diff --git a/lldb/packages/Python/lldbsuite/test/lldbpexpect.py b/lldb/packages/Python/lldbsuite/test/lldbpexpect.py index 998a080565b6b..3279e1fd39f8c 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbpexpect.py +++ b/lldb/packages/Python/lldbsuite/test/lldbpexpect.py @@ -104,4 +104,4 @@ def cursor_forward_escape_seq(self, chars_to_move): Returns the escape sequence to move the cursor forward/right by a certain amount of characters. """ - return b"\x1b\[" + str(chars_to_move).encode("utf-8") + b"C" + return b"\x1b\\[" + str(chars_to_move).encode("utf-8") + b"C" diff --git a/lldb/packages/Python/lldbsuite/test/test_runner/process_control.py b/lldb/packages/Python/lldbsuite/test/test_runner/process_control.py index 07c17993bc878..8ab219a92d99d 100644 --- a/lldb/packages/Python/lldbsuite/test/test_runner/process_control.py +++ b/lldb/packages/Python/lldbsuite/test/test_runner/process_control.py @@ -91,7 +91,7 @@ def timeout_to_seconds(timeout): class ProcessHelper(object): - """Provides an interface for accessing process-related functionality. + r"""Provides an interface for accessing process-related functionality. This class provides a factory method that gives the caller a platform-specific implementation instance of the class. diff --git a/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py b/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py index c31a08ac00182..2cb8d225d6d07 100644 --- a/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py +++ b/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py @@ -20,7 +20,7 @@ def test_backticks_in_alias(self): interp = self.dbg.GetCommandInterpreter() result = lldb.SBCommandReturnObject() interp.HandleCommand( - "command alias _test-argv-cmd expression -Z \`argc\` -- argv", result + r"command alias _test-argv-cmd expression -Z \`argc\` -- argv", result ) self.assertCommandReturn(result, "Made the alias") interp.HandleCommand("_test-argv-cmd", result) @@ -28,7 +28,7 @@ def test_backticks_in_alias(self): # Now try a harder case where we create this using an alias: interp.HandleCommand( - "command alias _test-argv-parray-cmd parray \`argc\` argv", result + r"command alias _test-argv-parray-cmd parray \`argc\` argv", result ) self.assertCommandReturn(result, "Made the alias") interp.HandleCommand("_test-argv-parray-cmd", result) diff --git a/lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py b/lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py index d27f07717affb..a82141a0792f2 100644 --- a/lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py +++ b/lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py @@ -30,7 +30,7 @@ def test(self): alloc0 = re.search("^.*IRMemoryMap::Malloc.+?0xdead0000.*$", log, re.MULTILINE) # Malloc adds additional bytes to allocation size, hence 10007 alloc1 = re.search( - "^.*IRMemoryMap::Malloc\s*?\(10007.+?0xdead1000.*$", log, re.MULTILINE + r"^.*IRMemoryMap::Malloc\s*?\(10007.+?0xdead1000.*$", log, re.MULTILINE ) self.assertTrue(alloc0, "Couldn't find an allocation at a given address.") self.assertTrue( diff --git a/lldb/test/API/commands/expression/test/TestExprs.py b/lldb/test/API/commands/expression/test/TestExprs.py index 41faf07f8cb44..17fd952130ee7 100644 --- a/lldb/test/API/commands/expression/test/TestExprs.py +++ b/lldb/test/API/commands/expression/test/TestExprs.py @@ -50,7 +50,7 @@ def build_and_run(self): def test_floating_point_expr_commands(self): self.build_and_run() - self.expect("expression 2.234f", patterns=["\(float\) \$.* = 2\.234"]) + self.expect("expression 2.234f", patterns=[r"\(float\) \$.* = 2\.234"]) # (float) $2 = 2.234 def test_many_expr_commands(self): diff --git a/lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py b/lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py index 3bb45521747d8..69aa674f6ae5d 100644 --- a/lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py +++ b/lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py @@ -48,7 +48,7 @@ def test_gui(self): self.child.expect_exact("Threads") # The main thread should be expanded. - self.child.expect("#\d+: main") + self.child.expect(r"#\d+: main") # Quit the GUI self.child.send(escape_key) diff --git a/lldb/test/API/commands/help/TestHelp.py b/lldb/test/API/commands/help/TestHelp.py index f0f5bcb321801..6aaff17fa4ea6 100644 --- a/lldb/test/API/commands/help/TestHelp.py +++ b/lldb/test/API/commands/help/TestHelp.py @@ -349,13 +349,13 @@ def test_help_show_tags(self): self.expect( "help memory read", patterns=[ - "--show-tags\n\s+Include memory tags in output " - "\(does not apply to binary output\)." + "--show-tags\n\\s+Include memory tags in output " + "\\(does not apply to binary output\\)." ], ) self.expect( "help memory find", - patterns=["--show-tags\n\s+Include memory tags in output."], + patterns=["--show-tags\n\\s+Include memory tags in output."], ) @no_debug_info_test diff --git a/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py b/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py index fcf61c9775c63..a7f8b38649b22 100644 --- a/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py +++ b/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py @@ -93,7 +93,7 @@ def test(self): self.runCmd("process kill") - self.runCmd("process launch -X true -w %s -- foo\ bar" % (self.getBuildDir())) + self.runCmd(r"process launch -X true -w %s -- foo\ bar" % (self.getBuildDir())) process = self.process() diff --git a/lldb/test/API/commands/register/register/TestRegistersUnavailable.py b/lldb/test/API/commands/register/register/TestRegistersUnavailable.py index abd3aeace8969..0ccccd2f09712 100644 --- a/lldb/test/API/commands/register/register/TestRegistersUnavailable.py +++ b/lldb/test/API/commands/register/register/TestRegistersUnavailable.py @@ -48,12 +48,12 @@ def test_unavailable_registers(self): "register read --all", patterns=[ "(?sm)^general purpose registers:\n" - "^\s+rdx = 0x5555555555555555\n" + "^\\s+rdx = 0x5555555555555555\n" ".*" "^3 registers were unavailable.\n" "\n" "^supplementary registers:\n" - "^\s+edx = 0x55555555\n" + "^\\s+edx = 0x55555555\n" ".*" "^12 registers were unavailable." ], diff --git a/lldb/test/API/commands/register/register/register_command/TestRegisters.py b/lldb/test/API/commands/register/register/register_command/TestRegisters.py index 5bf7aa5dee9c4..100bcceba2812 100644 --- a/lldb/test/API/commands/register/register/register_command/TestRegisters.py +++ b/lldb/test/API/commands/register/register/register_command/TestRegisters.py @@ -662,14 +662,14 @@ def test_register_read_fields(self): # N/Z/C/V bits will always be present, so check only for those. self.expect( "register read cpsr", - patterns=["= \(N = [0|1], Z = [0|1], C = [0|1], V = [0|1]"], + patterns=[r"= \(N = [0|1], Z = [0|1], C = [0|1], V = [0|1]"], ) self.expect( - "register read fpsr", patterns=["= \(QC = [0|1], IDC = [0|1], IXC = [0|1]"] + "register read fpsr", patterns=[r"= \(QC = [0|1], IDC = [0|1], IXC = [0|1]"] ) # AHP/DN/FZ always present, others may vary. self.expect( - "register read fpcr", patterns=["= \(AHP = [0|1], DN = [0|1], FZ = [0|1]"] + "register read fpcr", patterns=[r"= \(AHP = [0|1], DN = [0|1], FZ = [0|1]"] ) # Should get enumerator descriptions for RMode. diff --git a/lldb/test/API/commands/settings/TestSettings.py b/lldb/test/API/commands/settings/TestSettings.py index 2dd813f6b155b..d36e08875919a 100644 --- a/lldb/test/API/commands/settings/TestSettings.py +++ b/lldb/test/API/commands/settings/TestSettings.py @@ -186,13 +186,13 @@ def cleanup(): self.addTearDownHook(cleanup) self.runCmd("settings show frame-format") - m = re.match('^frame-format \(format-string\) = "(.*)"$', self.res.GetOutput()) + m = re.match(r'^frame-format \(format-string\) = "(.*)"$', self.res.GetOutput()) self.assertTrue(m, "Bad settings string") self.format_string = m.group(1) # Change the default format to print function.name rather than # function.name-with-args - format_string = "frame #${frame.index}: ${frame.pc}{ ${module.file.basename}\`${function.name}{${function.pc-offset}}}{ at ${line.file.fullpath}:${line.number}}{, lang=${language}}\n" + format_string = "frame #${frame.index}: ${frame.pc}{ ${module.file.basename}\\`${function.name}{${function.pc-offset}}}{ at ${line.file.fullpath}:${line.number}}{, lang=${language}}\n" self.runCmd("settings set frame-format %s" % format_string) # Immediately test the setting. @@ -724,7 +724,7 @@ def test_settings_with_trailing_whitespace(self): ) self.runCmd("settings set target.run-args 1 2 3") # Set to known value # Set to new value with trailing whitespaces - self.runCmd("settings set target.run-args 3 \ \ ") + self.runCmd(r"settings set target.run-args 3 \ \ ") self.expect( "settings show target.run-args", SETTING_MSG("target.run-args"), @@ -846,11 +846,11 @@ def test_settings_clear_all(self): # Check that settings have their default values after clearing. self.expect( "settings show target.env-vars", - patterns=["^target.env-vars \(dictionary of strings\) =\s*$"], + patterns=[r"^target.env-vars \(dictionary of strings\) =\s*$"], ) self.expect( "settings show target.run-args", - patterns=["^target.run-args \(arguments\) =\s*$"], + patterns=[r"^target.run-args \(arguments\) =\s*$"], ) self.expect("settings show auto-confirm", substrs=["false"]) self.expect("settings show tab-size", substrs=["2"]) @@ -947,7 +947,7 @@ def test_experimental_settings(self): # showing & setting an undefined .experimental. setting should generate no errors. self.expect( "settings show target.experimental.setting-which-does-not-exist", - patterns=["^\s$"], + patterns=[r"^\s$"], error=False, ) self.expect( diff --git a/lldb/test/API/commands/target/basic/TestTargetCommand.py b/lldb/test/API/commands/target/basic/TestTargetCommand.py index 953b59d729bfa..d91a3e0edb715 100644 --- a/lldb/test/API/commands/target/basic/TestTargetCommand.py +++ b/lldb/test/API/commands/target/basic/TestTargetCommand.py @@ -74,7 +74,7 @@ def do_target_command(self): # Find the largest index of the existing list. import re - pattern = re.compile("target #(\d+):") + pattern = re.compile(r"target #(\d+):") for line in reversed(output.split(os.linesep)): match = pattern.search(line) if match: diff --git a/lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py b/lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py index 05c72945b1439..13d12e3686a17 100644 --- a/lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py +++ b/lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py @@ -94,11 +94,11 @@ def test_dwos_loaded_table_output(self): self.expect( "target modules dump separate-debug-info", patterns=[ - "Symbol file: .*?a\.out", + r"Symbol file: .*?a\.out", 'Type: "dwo"', - "Dwo ID\s+Err\s+Dwo Path", - "0x[a-zA-Z0-9]{16}\s+.*main\.dwo", - "0x[a-zA-Z0-9]{16}\s+.*foo\.dwo", + r"Dwo ID\s+Err\s+Dwo Path", + r"0x[a-zA-Z0-9]{16}\s+.*main\.dwo", + r"0x[a-zA-Z0-9]{16}\s+.*foo\.dwo", ], ) @@ -118,11 +118,11 @@ def test_dwos_not_loaded_table_output(self): self.expect( "target modules dump separate-debug-info", patterns=[ - "Symbol file: .*?a\.out", + r"Symbol file: .*?a\.out", 'Type: "dwo"', - "Dwo ID\s+Err\s+Dwo Path", - "0x[a-zA-Z0-9]{16}\s+E\s+.*main\.dwo", - "0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.dwo", + r"Dwo ID\s+Err\s+Dwo Path", + r"0x[a-zA-Z0-9]{16}\s+E\s+.*main\.dwo", + r"0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.dwo", ], ) diff --git a/lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py b/lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py index 06dc823459184..4e7560338b1d4 100644 --- a/lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py +++ b/lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py @@ -93,11 +93,11 @@ def test_shows_oso_loaded_table_output(self): self.expect( "target modules dump separate-debug-info", patterns=[ - "Symbol file: .*?a\.out", + r"Symbol file: .*?a\.out", 'Type: "oso"', - "Mod Time\s+Err\s+Oso Path", - "0x[a-zA-Z0-9]{16}\s+.*main\.o", - "0x[a-zA-Z0-9]{16}\s+.*foo\.o", + r"Mod Time\s+Err\s+Oso Path", + r"0x[a-zA-Z0-9]{16}\s+.*main\.o", + r"0x[a-zA-Z0-9]{16}\s+.*foo\.o", ], ) @@ -119,11 +119,11 @@ def test_shows_oso_not_loaded_table_output(self): self.expect( "target modules dump separate-debug-info", patterns=[ - "Symbol file: .*?a\.out", + r"Symbol file: .*?a\.out", 'Type: "oso"', - "Mod Time\s+Err\s+Oso Path", - "0x[a-zA-Z0-9]{16}\s+E\s+.*main\.o", - "0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.o", + r"Mod Time\s+Err\s+Oso Path", + r"0x[a-zA-Z0-9]{16}\s+E\s+.*main\.o", + r"0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.o", ], ) diff --git a/lldb/test/API/commands/trace/TestTraceDumpInfo.py b/lldb/test/API/commands/trace/TestTraceDumpInfo.py index 3f67475d631dd..52449631f6aa9 100644 --- a/lldb/test/API/commands/trace/TestTraceDumpInfo.py +++ b/lldb/test/API/commands/trace/TestTraceDumpInfo.py @@ -64,7 +64,7 @@ def testDumpRawTraceSize(self): hardware disabled tracing: 4 trace synchronization point: 1""", ], - patterns=["Decoding instructions: \d.\d\ds"], + patterns=[r"Decoding instructions: \d.\d\ds"], ) def testDumpRawTraceSizeJSON(self): diff --git a/lldb/test/API/commands/trace/TestTraceEvents.py b/lldb/test/API/commands/trace/TestTraceEvents.py index 52f6241456b76..c20bcc247105b 100644 --- a/lldb/test/API/commands/trace/TestTraceEvents.py +++ b/lldb/test/API/commands/trace/TestTraceEvents.py @@ -68,7 +68,7 @@ def testPauseEvents(self): self.expect( "thread trace dump instructions -e -f", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* 0: \(event\) trace synchronization point \[offset \= 0x0xec0\] 1: \(event\) hardware disabled tracing a.out`main \+ 23 at main.cpp:12 @@ -102,7 +102,7 @@ def testPauseEvents(self): self.expect( "thread trace dump instructions -e --id 18", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`symbol stub for: foo\(\) 18: {ADDRESS_REGEX} jmpq .* 17: \(event\) software disabled tracing diff --git a/lldb/test/API/commands/trace/TestTraceStartStop.py b/lldb/test/API/commands/trace/TestTraceStartStop.py index 134cf13096edb..5add321b4c83f 100644 --- a/lldb/test/API/commands/trace/TestTraceStartStop.py +++ b/lldb/test/API/commands/trace/TestTraceStartStop.py @@ -244,7 +244,7 @@ def testStartStopLiveThreads(self): self.expect( "thread trace dump instructions -f", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`main \+ 4 at main.cpp:2 2: {ADDRESS_REGEX} movl""" ], @@ -255,7 +255,7 @@ def testStartStopLiveThreads(self): self.expect( "thread trace dump instructions -f", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`main \+ 4 at main.cpp:2 2: {ADDRESS_REGEX} movl .* a.out`main \+ 11 at main.cpp:4 @@ -269,7 +269,7 @@ def testStartStopLiveThreads(self): self.expect( "thread trace dump instructions", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`main \+ 32 at main.cpp:4 10: {ADDRESS_REGEX} jle .* ; <\+20> at main.cpp:5 8: {ADDRESS_REGEX} cmpl .* @@ -297,7 +297,7 @@ def testStartStopLiveThreads(self): self.expect( "thread trace dump instructions -f", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`main \+ 20 at main.cpp:5 2: {ADDRESS_REGEX} xorl""" ], @@ -306,7 +306,7 @@ def testStartStopLiveThreads(self): self.expect( "thread trace dump instructions", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`main \+ 20 at main.cpp:5 2: {ADDRESS_REGEX} xorl""" ], @@ -336,7 +336,7 @@ def testStartStopLiveThreads(self): self.expect( "thread trace dump instructions -c 1", patterns=[ - f"""thread #1: tid = .* + rf"""thread #1: tid = .* a.out`main \+ 11 at main.cpp:4""" ], ) diff --git a/lldb/test/API/commands/trace/TestTraceTSC.py b/lldb/test/API/commands/trace/TestTraceTSC.py index 580cb347dc30a..4a19065e60c2b 100644 --- a/lldb/test/API/commands/trace/TestTraceTSC.py +++ b/lldb/test/API/commands/trace/TestTraceTSC.py @@ -20,7 +20,7 @@ def testTscPerThread(self): self.expect("n") self.expect( "thread trace dump instructions -t -c 1", - patterns=[": \[\d+.\d+ ns\] 0x0000000000400511 movl"], + patterns=[r": \[\d+.\d+ ns\] 0x0000000000400511 movl"], ) @testSBAPIAndCommands @@ -43,7 +43,7 @@ def testMultipleTscsPerThread(self): self.runCmd("thread trace dump instructions -t --raw --forward") id_to_timestamp = {} for line in self.res.GetOutput().splitlines(): - m = re.search(" (.+): \[(.+)\ ns].*", line) + m = re.search(r" (.+): \[(.+)\ ns].*", line) if m: id_to_timestamp[int(m.group(1))] = m.group(2) self.assertEqual(len(id_to_timestamp), 3) @@ -69,12 +69,12 @@ def testTscPerProcess(self): self.expect("n") self.expect( "thread trace dump instructions -t -c 1", - patterns=[": \[\d+.\d+ ns\] 0x0000000000400511 movl"], + patterns=[r": \[\d+.\d+ ns\] 0x0000000000400511 movl"], ) self.expect( "thread trace dump instructions -t -c 1 --pretty-json", - patterns=['''"timestamp_ns": "\d+.\d+"'''], + patterns=[r'''"timestamp_ns": "\d+.\d+"'''], ) @testSBAPIAndCommands @@ -91,7 +91,7 @@ def testDumpingAfterTracingWithoutTsc(self): self.expect("n") self.expect( "thread trace dump instructions -t -c 1", - patterns=[": \[unavailable\] 0x0000000000400511 movl"], + patterns=[r": \[unavailable\] 0x0000000000400511 movl"], ) self.expect( diff --git a/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py b/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py index 5cfcf5d69fd2a..2412b295bfb59 100644 --- a/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py +++ b/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py @@ -28,7 +28,7 @@ def test_run_quit(self): # Launch the process without a TTY so we don't have to interrupt: child.sendline("process launch -n") print("launched process") - child.expect("Process ([\d]*) launched:") + child.expect(r"Process ([\d]*) launched:") print("Got launch message") child.sendline("quit") print("sent quit") diff --git a/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py b/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py index fe99adf425513..5798c8ffa8220 100644 --- a/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py +++ b/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py @@ -60,7 +60,7 @@ def testBreakpointByLineAndColumnNearestCode(self): for pattern in patterns: line = line_number("main.cpp", pattern) + 1 - column = int(re.search("\(col:([0-9]+)\)", pattern).group(1)) + column = int(re.search(r"\(col:([0-9]+)\)", pattern).group(1)) source_loc.append({"line": line, "column": column}) target = self.createTestTarget() diff --git a/lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py b/lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py index d87e6275f7b51..e0c93e3c18581 100644 --- a/lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py +++ b/lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py @@ -53,7 +53,7 @@ def set_breakpoint(self): ], patterns=[ "where = a.out`func_inlined .+unresolved, hit count = 0", - "where = a.out`main .+\[inlined\].+unresolved, hit count = 0", + r"where = a.out`main .+\[inlined\].+unresolved, hit count = 0", ], ) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py index b740689e67538..ce4eb0a060cee 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py @@ -104,7 +104,9 @@ def cleanup(): self.runCmd("type summary clear") - self.runCmd('type summary add --summary-string "${var[0-1]}" -x "int\[[0-9]\]"') + self.runCmd( + r'type summary add --summary-string "${var[0-1]}" -x "int\[[0-9]\]"' + ) self.expect("frame variable int_array", substrs=["1,2"]) @@ -119,7 +121,7 @@ def cleanup(): self.runCmd("type summary clear") - self.runCmd('type summary add -c -x "i_am_cool\[[0-9]\]"') + self.runCmd(r'type summary add -c -x "i_am_cool\[[0-9]\]"') self.runCmd("type summary add -c i_am_cool") self.expect( @@ -172,7 +174,7 @@ def cleanup(): self.runCmd("type summary clear") self.runCmd( - 'type summary add --summary-string "${*var[].x[0-3]%hex} is a bitfield on a set of integers" -x "SimpleWithPointers\[[0-9]\]"' + r'type summary add --summary-string "${*var[].x[0-3]%hex} is a bitfield on a set of integers" -x "SimpleWithPointers\[[0-9]\]"' ) self.expect( diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py b/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py index 644529b1c451b..a848c6257510e 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py @@ -62,7 +62,7 @@ def cleanup(): self.expect( "frame variable", patterns=[ - "\(Speed\) SPILookHex = 0x[0-9a-f]+" # Speed should look hex-ish now. + r"\(Speed\) SPILookHex = 0x[0-9a-f]+" # Speed should look hex-ish now. ], ) @@ -71,14 +71,14 @@ def cleanup(): self.expect( "frame variable", patterns=[ - "\(SignalMask\) SMILookHex = 0x[0-9a-f]+" # SignalMask should look hex-ish now. + r"\(SignalMask\) SMILookHex = 0x[0-9a-f]+" # SignalMask should look hex-ish now. ], ) self.expect( "frame variable", matching=False, patterns=[ - "\(Type4\) T4ILookChar = 0x[0-9a-f]+" # Type4 should NOT look hex-ish now. + r"\(Type4\) T4ILookChar = 0x[0-9a-f]+" # Type4 should NOT look hex-ish now. ], ) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py index 4046dc79538a5..c90a5c61d9c0b 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py @@ -53,7 +53,7 @@ def nscontainers_data_formatter_commands(self): self.expect( "frame variable -d run-target *nscfDictionary", patterns=[ - "\(__NSCFDictionary\) \*nscfDictionary =", + r"\(__NSCFDictionary\) \*nscfDictionary =", 'key = 0x.* @"foo"', 'value = 0x.* @"foo"', 'key = 0x.* @"bar"', @@ -68,7 +68,7 @@ def nscontainers_data_formatter_commands(self): self.expect( "frame variable -d run-target *cfDictionaryRef", patterns=[ - "\(const __CFDictionary\) \*cfDictionaryRef =", + r"\(const __CFDictionary\) \*cfDictionaryRef =", 'key = 0x.* @"foo"', 'value = 0x.* @"foo"', 'key = 0x.* @"bar"', @@ -89,18 +89,18 @@ def nscontainers_data_formatter_commands(self): self.expect( "frame variable -d run-target *nscfSet", patterns=[ - "\(__NSCFSet\) \*nscfSet =", - '\[0\] = 0x.* @".*"', - '\[1\] = 0x.* @".*"', + r"\(__NSCFSet\) \*nscfSet =", + r'\[0\] = 0x.* @".*"', + r'\[1\] = 0x.* @".*"', ], ) self.expect( "frame variable -d run-target *cfSetRef", patterns=[ - "\(const __CFSet\) \*cfSetRef =", - '\[0\] = 0x.* @".*"', - '\[1\] = 0x.* @".*"', + r"\(const __CFSet\) \*cfSetRef =", + r'\[0\] = 0x.* @".*"', + r'\[1\] = 0x.* @".*"', ], ) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py index c3043b489d951..50dfbbf6b90a5 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py @@ -83,9 +83,9 @@ def cleanup(): [ "IntsUnorderedSet", "size=5 {", - "\[\d\] = 5", - "\[\d\] = 3", - "\[\d\] = 2", + r"\[\d\] = 5", + r"\[\d\] = 3", + r"\[\d\] = 2", ], ) @@ -94,9 +94,9 @@ def cleanup(): [ "StringsUnorderedSet", "size=5 {", - '\[\d\] = "is"', - '\[\d\] = "world"', - '\[\d\] = "hello"', + r'\[\d\] = "is"', + r'\[\d\] = "world"', + r'\[\d\] = "hello"', ], ) @@ -105,9 +105,9 @@ def cleanup(): [ "IntsUnorderedMultiSet", "size=6 {", - "(\[\d\] = 3(\\n|.)+){3}", - "\[\d\] = 2", - "\[\d\] = 1", + "(\\[\\d\\] = 3(\\n|.)+){3}", + r"\[\d\] = 2", + r"\[\d\] = 1", ], ) @@ -116,8 +116,8 @@ def cleanup(): [ "StringsUnorderedMultiSet", "size=5 {", - '(\[\d\] = "is"(\\n|.)+){2}', - '(\[\d\] = "world"(\\n|.)+){2}', + '(\\[\\d\\] = "is"(\\n|.)+){2}', + '(\\[\\d\\] = "world"(\\n|.)+){2}', ], ) diff --git a/lldb/test/API/functionalities/data-formatter/type_summary_list_arg/TestTypeSummaryListArg.py b/lldb/test/API/functionalities/data-formatter/type_summary_list_arg/TestTypeSummaryListArg.py index 0bc34910df7d2..6b883a5bb6c8f 100644 --- a/lldb/test/API/functionalities/data-formatter/type_summary_list_arg/TestTypeSummaryListArg.py +++ b/lldb/test/API/functionalities/data-formatter/type_summary_list_arg/TestTypeSummaryListArg.py @@ -17,7 +17,7 @@ def test_type_summary_list_with_arg(self): "type summary list Foo", substrs=["Category: default", "Category: system"] ) self.expect( - "type summary list char", substrs=["char ?(\*|\[\])", "char ?\[[0-9]+\]"] + "type summary list char", substrs=[r"char ?(\*|\[\])", r"char ?\[[0-9]+\]"] ) self.expect("type summary list -w default", substrs=["system"], matching=False) @@ -28,6 +28,6 @@ def test_type_summary_list_with_arg(self): ) self.expect( "type summary list -w system char", - substrs=["char ?(\*|\[\])", "char ?\[[0-9]+\]"], + substrs=[r"char ?(\*|\[\])", r"char ?\[[0-9]+\]"], matching=True, ) diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py b/lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py index 2dbb2b5f5e3a9..d7849500c378d 100644 --- a/lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py +++ b/lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py @@ -678,7 +678,7 @@ def test_enum_type_not_found(self): <reg name="cpsr" regnum="33" bitsize="32" type="cpsr_flags"/>""" ) - self.expect("register read cpsr", patterns=["\(E = 1\)$"]) + self.expect("register read cpsr", patterns=[r"\(E = 1\)$"]) @skipIfXmlSupportMissing @skipIfRemote @@ -701,7 +701,7 @@ def test_enum_duplicated_evalue(self): ) self.expect("register info cpsr", patterns=["E: 1 = def, 2 = geh$"]) - self.expect("register read cpsr", patterns=["\(E = def \| geh\)$"]) + self.expect("register read cpsr", patterns=[r"\(E = def \| geh\)$"]) @skipIfXmlSupportMissing @skipIfRemote @@ -725,7 +725,7 @@ def test_enum_duplicated(self): ) self.expect("register info cpsr", patterns=["E: 1 = def$"]) - self.expect("register read cpsr", patterns=["\(E = def\)$"]) + self.expect("register read cpsr", patterns=[r"\(E = def\)$"]) @skipIfXmlSupportMissing @skipIfRemote @@ -1014,7 +1014,7 @@ def test_many_fields_same_enum(self): self.expect("register info cpsr", patterns=expected_info) - expected_read = ["\(f2 = valid, f1 = valid\)$"] + expected_read = [r"\(f2 = valid, f1 = valid\)$"] self.expect("register read x0", patterns=expected_read) self.expect("register read cpsr", patterns=expected_read) @@ -1055,4 +1055,4 @@ def test_fields_same_name_different_enum(self): ], ) - self.expect("register read x0", patterns=["\(foo = foo_1, foo = foo_0\)$"]) + self.expect("register read x0", patterns=[r"\(foo = foo_1, foo = foo_0\)$"]) diff --git a/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py b/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py index 577411ebc1037..50182e72e498c 100644 --- a/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py +++ b/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py @@ -95,7 +95,7 @@ def test_command(self): self.assertFalse(result.Succeeded()) self.assertRegex( result.GetError(), - "Usage: memory region <address\-expression> \(or \-\-all\)", + r"Usage: memory region <address\-expression> \(or \-\-all\)", ) # --all should match what repeating the command gives you diff --git a/lldb/test/API/functionalities/target_var/TestTargetVar.py b/lldb/test/API/functionalities/target_var/TestTargetVar.py index 0ef3d008e8f19..2d108df3e22e5 100644 --- a/lldb/test/API/functionalities/target_var/TestTargetVar.py +++ b/lldb/test/API/functionalities/target_var/TestTargetVar.py @@ -27,7 +27,7 @@ def testTargetVarExpr(self): ) self.expect("target variable i", substrs=["i", "42"]) self.expect( - "target variable var", patterns=["\(incomplete \*\) var = 0[xX](0)*dead"] + "target variable var", patterns=[r"\(incomplete \*\) var = 0[xX](0)*dead"] ) self.expect( "target variable var[0]", diff --git a/lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py b/lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py index b16869b05e7df..0c788b2cdfee3 100644 --- a/lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py +++ b/lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py @@ -55,7 +55,7 @@ def test_completion(self): self.child.expect( re.compile( b"TestIOHandler(\r" - + self.cursor_forward_escape_seq("\d+") + + self.cursor_forward_escape_seq(r"\d+") + b")?Completion.py" ) ) diff --git a/lldb/test/API/lang/c/enum_types/TestEnumTypes.py b/lldb/test/API/lang/c/enum_types/TestEnumTypes.py index 0015c8f478578..d4bbe9bcfac81 100644 --- a/lldb/test/API/lang/c/enum_types/TestEnumTypes.py +++ b/lldb/test/API/lang/c/enum_types/TestEnumTypes.py @@ -27,7 +27,7 @@ def test_command_line(self): self.expect("fr var c", DATA_TYPES_DISPLAYED_CORRECTLY, patterns=[" = C$"]) self.expect("fr var ab", DATA_TYPES_DISPLAYED_CORRECTLY, patterns=[" = AB$"]) self.expect( - "fr var ac", DATA_TYPES_DISPLAYED_CORRECTLY, patterns=[" = A \| C$"] + "fr var ac", DATA_TYPES_DISPLAYED_CORRECTLY, patterns=[r" = A \| C$"] ) self.expect("fr var all", DATA_TYPES_DISPLAYED_CORRECTLY, patterns=[" = ALL$"]) # Test that an enum that doesn't match the heuristic we use in @@ -39,7 +39,7 @@ def test_command_line(self): self.expect( "expression (enum bitfield)nonsense", DATA_TYPES_DISPLAYED_CORRECTLY, - patterns=[" = B \| C \| 0x10$"], + patterns=[r" = B \| C \| 0x10$"], ) # Break inside the main. diff --git a/lldb/test/API/lang/c/function_types/TestFunctionTypes.py b/lldb/test/API/lang/c/function_types/TestFunctionTypes.py index 2f6bb7fc0bb16..6e42cd63573c9 100644 --- a/lldb/test/API/lang/c/function_types/TestFunctionTypes.py +++ b/lldb/test/API/lang/c/function_types/TestFunctionTypes.py @@ -54,7 +54,7 @@ def test_pointers(self): ) if self.platformIsDarwin(): - regexps = ["lib.*\.dylib`printf"] + regexps = [r"lib.*\.dylib`printf"] else: regexps = ["printf"] self.expect( diff --git a/lldb/test/API/lang/c/register_variables/TestRegisterVariables.py b/lldb/test/API/lang/c/register_variables/TestRegisterVariables.py index 0e51d4f7ff468..bcdd590e00d0a 100644 --- a/lldb/test/API/lang/c/register_variables/TestRegisterVariables.py +++ b/lldb/test/API/lang/c/register_variables/TestRegisterVariables.py @@ -9,7 +9,7 @@ def re_expr_equals(val_type, val): # Match ({val_type}) ${sum_digits} = {val} - return re.compile(r"\(" + val_type + "\) \$\d+ = " + str(val)) + return re.compile(r"\(" + val_type + r"\) \$\d+ = " + str(val)) class RegisterVariableTestCase(TestBase): diff --git a/lldb/test/API/lang/c/set_values/TestSetValues.py b/lldb/test/API/lang/c/set_values/TestSetValues.py index 0d697d6719d5f..e0813734403a0 100644 --- a/lldb/test/API/lang/c/set_values/TestSetValues.py +++ b/lldb/test/API/lang/c/set_values/TestSetValues.py @@ -82,7 +82,7 @@ def test(self): self.expect( "frame variable --show-types", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\((short unsigned int|unsigned short)\) i = 33"], + patterns=[r"\((short unsigned int|unsigned short)\) i = 33"], ) # Now set variable 'i' and check that it is correctly displayed. @@ -90,7 +90,7 @@ def test(self): self.expect( "frame variable --show-types", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\((short unsigned int|unsigned short)\) i = 333"], + patterns=[r"\((short unsigned int|unsigned short)\) i = 333"], ) self.runCmd("continue") diff --git a/lldb/test/API/lang/c/strings/TestCStrings.py b/lldb/test/API/lang/c/strings/TestCStrings.py index 159f8a4e4b664..f11006f7feefe 100644 --- a/lldb/test/API/lang/c/strings/TestCStrings.py +++ b/lldb/test/API/lang/c/strings/TestCStrings.py @@ -20,7 +20,7 @@ def test_with_run_command(self): self.runCmd("process launch", RUN_SUCCEEDED) - self.expect("expression -- a[2]", patterns=["\((const )?char\) \$0 = 'c'"]) + self.expect("expression -- a[2]", patterns=[r"\((const )?char\) \$0 = 'c'"]) self.expect("expression -- z[2]", startstr="(const char) $1 = 'x'") diff --git a/lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py b/lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py index 2bffd2eea123a..56bb25b3f3c3d 100644 --- a/lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py +++ b/lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py @@ -71,12 +71,12 @@ def test(self): self.expect( "expr var_static", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\(int\) \$.* = 88"], + patterns=[r"\(int\) \$.* = 88"], ) self.expect( "expr var_shared", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\(int\) \$.* = 66"], + patterns=[r"\(int\) \$.* = 66"], ) # Continue on the main thread @@ -102,10 +102,10 @@ def test(self): self.expect( "expr var_static", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\(int\) \$.* = 44"], + patterns=[r"\(int\) \$.* = 44"], ) self.expect( "expr var_shared", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\(int\) \$.* = 33"], + patterns=[r"\(int\) \$.* = 33"], ) diff --git a/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py b/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py index e1cbe0509ae04..e2521d88258bc 100644 --- a/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py +++ b/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py @@ -74,8 +74,8 @@ def test(self): self.expect( "frame variable as16 as32", patterns=[ - "\(char16_t\[[0-9]+\]\) as16 = ", - "\(char32_t\[[0-9]+\]\) as32 = ", + r"\(char16_t\[[0-9]+\]\) as16 = ", + r"\(char32_t\[[0-9]+\]\) as32 = ", ], substrs=['u"ﺸﺵۻ"', 'U"ЕЙРГЖО"'], ) @@ -103,8 +103,8 @@ def test(self): self.expect( "frame variable as16 as32", patterns=[ - "\(char16_t\[[0-9]+\]\) as16 = ", - "\(char32_t\[[0-9]+\]\) as32 = ", + r"\(char16_t\[[0-9]+\]\) as16 = ", + r"\(char32_t\[[0-9]+\]\) as32 = ", ], substrs=['"色ハ匂ヘト散リヌルヲ"', '"෴"'], ) diff --git a/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py b/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py index 04678ec018bdf..41181e468c308 100644 --- a/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py +++ b/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py @@ -38,7 +38,7 @@ def test_with_run_command(self): self.expect( "target variable A::g_points", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\(PointType\[[1-9]*\]\) A::g_points = {"], + patterns=[r"\(PointType\[[1-9]*\]\) A::g_points = {"], ) self.expect( "target variable g_points", @@ -76,7 +76,7 @@ def test_with_run_command_complete(self): "target variable A::g_points", VARIABLES_DISPLAYED_CORRECTLY, patterns=[ - "\(PointType\[[1-9]*\]\) A::g_points = {", + r"\(PointType\[[1-9]*\]\) A::g_points = {", "(x = 1, y = 2)", "(x = 11, y = 22)", ], diff --git a/lldb/test/API/lang/cpp/class_types/TestClassTypes.py b/lldb/test/API/lang/cpp/class_types/TestClassTypes.py index 80781f5d90912..b5d5dd2370781 100644 --- a/lldb/test/API/lang/cpp/class_types/TestClassTypes.py +++ b/lldb/test/API/lang/cpp/class_types/TestClassTypes.py @@ -179,7 +179,7 @@ def test_with_expr_parser(self): self.expect( "expression this->m_c_int", VARIABLES_DISPLAYED_CORRECTLY, - patterns=["\(int\) \$[0-9]+ = 66"], + patterns=[r"\(int\) \$[0-9]+ = 66"], ) def test_with_constructor_name(self): diff --git a/lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py b/lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py index e016168f047c1..32ef009279713 100644 --- a/lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py +++ b/lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py @@ -129,7 +129,7 @@ def test_get_dynamic_vals(self): self.expect( "frame var -d run-target --ptr-depth=2 --show-types anotherA.m_client_A", "frame var finds its way into a child member", - patterns=["\(B \*\)"], + patterns=[r"\(B \*\)"], ) # Now make sure we also get it right for a reference as well: diff --git a/lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py b/lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py index 5cc43f3cd9910..8efa53bdbf722 100644 --- a/lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py +++ b/lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py @@ -23,7 +23,7 @@ def test_frame_recognizer(self): # We never hide the frame of the entry-point into the standard library, even # if the name starts with `__` which usually indicates an internal function. "ranges_sort_less(int, int)": [ - re.compile("ranges::__sort::(__fn::)?operator\(\)"), + re.compile(r"ranges::__sort::(__fn::)?operator\(\)"), "test_algorithms", ], # `ranges::views::transform` internally uses `std::invoke`, and that diff --git a/lldb/test/API/lang/cpp/namespace/TestNamespace.py b/lldb/test/API/lang/cpp/namespace/TestNamespace.py index 40cbff9cb3c94..d790002dea072 100644 --- a/lldb/test/API/lang/cpp/namespace/TestNamespace.py +++ b/lldb/test/API/lang/cpp/namespace/TestNamespace.py @@ -237,12 +237,12 @@ def test_with_run_command(self): self.expect( "expression myanonfunc", - patterns=["\(anonymous namespace\)::myanonfunc\(int\)"], + patterns=[r"\(anonymous namespace\)::myanonfunc\(int\)"], ) self.expect( "expression variadic_sum", - patterns=["\(anonymous namespace\)::variadic_sum\(int, ...\)"], + patterns=[r"\(anonymous namespace\)::variadic_sum\(int, ...\)"], ) self.expect_expr("::B::Bar b; b.x()", result_type="int", result_value="42") diff --git a/lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py b/lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py index a08c2e721328d..b8c2c23613868 100644 --- a/lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py +++ b/lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py @@ -57,8 +57,8 @@ def test(self): "frame variable --show-types --no-args", VARIABLES_DISPLAYED_CORRECTLY, patterns=[ - "\((short int|short)\) the_signed_short = 99", - "\((signed char|char)\) the_signed_char = 'c'", + r"\((short int|short)\) the_signed_short = 99", + r"\((signed char|char)\) the_signed_char = 'c'", ], substrs=[ "(int) the_signed_int = 99", diff --git a/lldb/test/API/lang/cpp/unsigned_types/TestUnsignedTypes.py b/lldb/test/API/lang/cpp/unsigned_types/TestUnsignedTypes.py index ffce9534e05bd..4796c84966675 100644 --- a/lldb/test/API/lang/cpp/unsigned_types/TestUnsignedTypes.py +++ b/lldb/test/API/lang/cpp/unsigned_types/TestUnsignedTypes.py @@ -22,7 +22,7 @@ def test(self): "frame variable --show-types --no-args", VARIABLES_DISPLAYED_CORRECTLY, patterns=[ - "\((short unsigned int|unsigned short)\) the_unsigned_short = 99" + r"\((short unsigned int|unsigned short)\) the_unsigned_short = 99" ], substrs=[ "(unsigned char) the_unsigned_char = 'c'", diff --git a/lldb/test/API/lang/mixed/TestMixedLanguages.py b/lldb/test/API/lang/mixed/TestMixedLanguages.py index 1637d59a5edcb..d7ab89e89ab7f 100644 --- a/lldb/test/API/lang/mixed/TestMixedLanguages.py +++ b/lldb/test/API/lang/mixed/TestMixedLanguages.py @@ -22,12 +22,12 @@ def cleanup(): self.addTearDownHook(cleanup) self.runCmd("settings show frame-format") - m = re.match('^frame-format \(format-string\) = "(.*)"$', self.res.GetOutput()) + m = re.match(r'^frame-format \(format-string\) = "(.*)"$', self.res.GetOutput()) self.assertTrue(m, "Bad settings string") self.format_string = m.group(1) # Change the default format to print the language. - format_string = "frame #${frame.index}: ${frame.pc}{ ${module.file.basename}\`${function.name}{${function.pc-offset}}}{, lang=${language}}\n" + format_string = "frame #${frame.index}: ${frame.pc}{ ${module.file.basename}\\`${function.name}{${function.pc-offset}}}{, lang=${language}}\n" self.runCmd("settings set frame-format %s" % format_string) self.expect( "settings show frame-format", diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethods.py b/lldb/test/API/lang/objc/foundation/TestObjCMethods.py index 634e4730c764b..5fa3f280d33bf 100644 --- a/lldb/test/API/lang/objc/foundation/TestObjCMethods.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethods.py @@ -166,7 +166,7 @@ def test_data_type_and_expr(self): "frame variable --show-types --scope", VARIABLES_DISPLAYED_CORRECTLY, substrs=["ARG: (MyString *) self"], - patterns=["ARG: \(.*\) _cmd", "(objc_selector *)|(SEL)"], + patterns=[r"ARG: \(.*\) _cmd", "(objc_selector *)|(SEL)"], ) # rdar://problem/8651752 diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py index 81c409d08364c..2cd1386289b9e 100644 --- a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py @@ -19,10 +19,10 @@ def test_NSArray_expr_commands(self): self.runCmd("thread backtrace") self.expect( - "expression (int)[nil_mutable_array count]", patterns=["\(int\) \$.* = 0"] + "expression (int)[nil_mutable_array count]", patterns=[r"\(int\) \$.* = 0"] ) - self.expect("expression (int)[array1 count]", patterns=["\(int\) \$.* = 3"]) - self.expect("expression (int)[array2 count]", patterns=["\(int\) \$.* = 3"]) - self.expect("expression (int)array1.count", patterns=["\(int\) \$.* = 3"]) - self.expect("expression (int)array2.count", patterns=["\(int\) \$.* = 3"]) + self.expect("expression (int)[array1 count]", patterns=[r"\(int\) \$.* = 3"]) + self.expect("expression (int)[array2 count]", patterns=[r"\(int\) \$.* = 3"]) + self.expect("expression (int)array1.count", patterns=[r"\(int\) \$.* = 3"]) + self.expect("expression (int)array2.count", patterns=[r"\(int\) \$.* = 3"]) self.runCmd("process continue") diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py index c9e801422b46c..a14035db5e057 100644 --- a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py @@ -20,7 +20,7 @@ def test_runtime_types(self): # Test_NSString: self.runCmd("thread backtrace") - self.expect("expression [str length]", patterns=["\(NSUInteger\) \$.* ="]) + self.expect("expression [str length]", patterns=[r"\(NSUInteger\) \$.* ="]) self.expect("expression str.length") self.expect('expression str = [NSString stringWithCString: "new"]') self.expect( diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py b/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py index 4d8c9c960ea59..3e33077b8e2d7 100644 --- a/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py @@ -21,11 +21,11 @@ def test_NSString_expr_commands(self): # Test_NSString: self.runCmd("thread backtrace") - self.expect("expression (int)[str length]", patterns=["\(int\) \$.* ="]) - self.expect("expression (int)[str_id length]", patterns=["\(int\) \$.* ="]) - self.expect("expression (id)[str description]", patterns=["\(id\) \$.* = 0x"]) + self.expect("expression (int)[str length]", patterns=[r"\(int\) \$.* ="]) + self.expect("expression (int)[str_id length]", patterns=[r"\(int\) \$.* ="]) + self.expect("expression (id)[str description]", patterns=[r"\(id\) \$.* = 0x"]) self.expect( - "expression (id)[str_id description]", patterns=["\(id\) \$.* = 0x"] + "expression (id)[str_id description]", patterns=[r"\(id\) \$.* = 0x"] ) self.expect("expression str.length") self.expect('expression str = @"new"') @@ -42,6 +42,6 @@ def test_MyString_dump_with_runtime(self): ) self.expect( "expression --show-types -- *my", - patterns=["\(MyString\) \$.* = ", "\(MyBase\)"], + patterns=[r"\(MyString\) \$.* = ", r"\(MyBase\)"], ) self.runCmd("process continue") diff --git a/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py b/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py index 3ba68f4c35a5c..4d439fa0046e4 100644 --- a/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py +++ b/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py @@ -107,7 +107,7 @@ def test_get_objc_dynamic_vals(self): self.expect( "frame var -d run-target myObserver->_source", "frame var finds its way into a child member", - patterns=["\(SourceDerived \*\)"], + patterns=[r"\(SourceDerived \*\)"], ) # check that our ObjC GetISA() does a good job at hiding KVO swizzled diff --git a/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py b/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py index 3cdca31b8969b..ac107de7e00a7 100644 --- a/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py +++ b/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py @@ -51,11 +51,11 @@ def test_with_python_api(self): frame = thread_list[0].GetFrameAtIndex(0) self.assertTrue(frame, "Got a valid frame 0 frame.") - self.expect("expr (foo)", patterns=["\(ns::id\) \$.* = 0"]) + self.expect("expr (foo)", patterns=[r"\(ns::id\) \$.* = 0"]) self.expect( "expr --language Objective-C++ -- id my_id = 0; my_id", - patterns=["\(id\) \$.* = nil"], + patterns=[r"\(id\) \$.* = nil"], ) self.expect("expr --language C++ -- id my_id = 0; my_id", error=True) diff --git a/lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py b/lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py index 6309648819026..a9879f67d8b8f 100644 --- a/lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py +++ b/lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py @@ -88,9 +88,9 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr}+16 {addr}".format(addr=self.MTE_BUF_ADDR), error=True, patterns=[ - "error: End address \(0x[A-Fa-f0-9]+\) " + r"error: End address \(0x[A-Fa-f0-9]+\) " "must be greater than the start address " - "\(0x[A-Fa-f0-9]+\)" + r"\(0x[A-Fa-f0-9]+\)" ], ) @@ -100,8 +100,8 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr} {addr}+32".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)$" + "\\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\\): 0x0\n" + "\\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\\): 0x1 \\(mismatch\\)$" ], ) @@ -110,7 +110,7 @@ def test_mte_tag_core_file_tag_read(self): self.expect( "memory tag read {addr} {addr}+16".format(addr=self.MTE_BUF_ADDR), patterns=[ - "Allocation tags:\n" "\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0$" + "Allocation tags:\n" r"\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0$" ], ) # Get the other half of the first byte. @@ -119,7 +119,7 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr}+16 {addr}+32".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)$" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)$" ], ) @@ -128,18 +128,18 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr} {addr}+48".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n" - "\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\): 0x2 \(mismatch\)$" + "\\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\\): 0x0\n" + "\\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\\): 0x1 \\(mismatch\\)\n" + "\\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\\): 0x2 \\(mismatch\\)$" ], ) self.expect( "memory tag read {addr}+16 {addr}+64".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n" - "\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\): 0x2 \(mismatch\)\n" - "\[0x[A-Fa-f0-9]+30, 0x[A-Fa-f0-9]+40\): 0x3 \(mismatch\)$" + "\\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\\): 0x1 \\(mismatch\\)\n" + "\\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\\): 0x2 \\(mismatch\\)\n" + "\\[0x[A-Fa-f0-9]+30, 0x[A-Fa-f0-9]+40\\): 0x3 \\(mismatch\\)$" ], ) # Here both start and end are unaligned. @@ -147,10 +147,10 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr}+16 {addr}+80".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n" - "\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\): 0x2 \(mismatch\)\n" - "\[0x[A-Fa-f0-9]+30, 0x[A-Fa-f0-9]+40\): 0x3 \(mismatch\)\n" - "\[0x[A-Fa-f0-9]+40, 0x[A-Fa-f0-9]+50\): 0x4 \(mismatch\)$" + "\\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\\): 0x1 \\(mismatch\\)\n" + "\\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\\): 0x2 \\(mismatch\\)\n" + "\\[0x[A-Fa-f0-9]+30, 0x[A-Fa-f0-9]+40\\): 0x3 \\(mismatch\\)\n" + "\\[0x[A-Fa-f0-9]+40, 0x[A-Fa-f0-9]+50\\): 0x4 \\(mismatch\\)$" ], ) @@ -159,7 +159,7 @@ def test_mte_tag_core_file_tag_read(self): self.expect( "memory tag read {addr} {addr}+1".format(addr=self.MTE_BUF_ADDR), patterns=[ - "Allocation tags:\n" "\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0$" + "Allocation tags:\n" r"\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0$" ], ) @@ -169,8 +169,8 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr} {addr}+17".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)$" + "\\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\\): 0x0\n" + "\\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\\): 0x1 \\(mismatch\\)$" ], ) @@ -179,9 +179,9 @@ def test_mte_tag_core_file_tag_read(self): "memory tag read {addr} {addr}+33".format(addr=self.MTE_BUF_ADDR), patterns=[ "Allocation tags:\n" - "\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" - "\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n", - "\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\): 0x2 \(mismatch\)$", + "\\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\\): 0x0\n" + "\\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\\): 0x1 \\(mismatch\\)\n", + "\\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\\): 0x2 \\(mismatch\\)$", ], ) diff --git a/lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py b/lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py index c72eb72b05cce..8a76d6c6c40c3 100644 --- a/lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py +++ b/lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py @@ -86,8 +86,8 @@ def test_mte_tag_read(self): self.expect( "memory tag read mte_buf mte_buf-16", patterns=[ - "error: End address \(0x[A-Fa-f0-9]+\) must be " - "greater than the start address \(0x[A-Fa-f0-9]+\)" + r"error: End address \(0x[A-Fa-f0-9]+\) must be " + r"greater than the start address \(0x[A-Fa-f0-9]+\)" ], error=True, ) @@ -95,8 +95,8 @@ def test_mte_tag_read(self): self.expect( "memory tag read mte_buf mte_buf", patterns=[ - "error: End address \(0x[A-Fa-f0-9]+\) must be " - "greater than the start address \(0x[A-Fa-f0-9]+\)" + r"error: End address \(0x[A-Fa-f0-9]+\) must be " + r"greater than the start address \(0x[A-Fa-f0-9]+\)" ], error=True, ) @@ -117,7 +117,7 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" ], ) @@ -127,7 +127,7 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" ], ) @@ -137,8 +137,8 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x1 \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x0 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\\): 0x1 \\(mismatch\\)$" ], ) @@ -150,7 +150,7 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0x0\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+, 0x[0-9A-Fa-f]+\): 0x0$" + r"\[0x[0-9A-Fa-f]+, 0x[0-9A-Fa-f]+\): 0x0$" ], ) @@ -179,8 +179,8 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+f0, 0x[0-9A-Fa-f]+00\): 0xf \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+f0, 0x[0-9A-Fa-f]+00\\): 0xf \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x0 \\(mismatch\\)$" ], ) @@ -192,7 +192,7 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0xa\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)$" ], ) @@ -202,9 +202,9 @@ def test_mte_tag_read(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+80, 0x[0-9A-Fa-f]+90\): 0x8 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+90, 0x[0-9A-Fa-f]+a0\): 0x9\n" - "\[0x[0-9A-Fa-f]+a0, 0x[0-9A-Fa-f]+b0\): 0xa \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+80, 0x[0-9A-Fa-f]+90\\): 0x8 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+90, 0x[0-9A-Fa-f]+a0\\): 0x9\n" + "\\[0x[0-9A-Fa-f]+a0, 0x[0-9A-Fa-f]+b0\\): 0xa \\(mismatch\\)$" ], ) @@ -258,8 +258,8 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x9\n" - "\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x1 \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x9\n" + "\\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\\): 0x1 \\(mismatch\\)$" ], ) @@ -270,9 +270,9 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0xa \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0xb \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\): 0xc \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0xa \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\\): 0xb \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\\): 0xc \\(mismatch\\)$" ], ) @@ -284,7 +284,7 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x0\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+, 0x[0-9A-Fa-f]+\): 0xe \(mismatch\)$" + r"\[0x[0-9A-Fa-f]+, 0x[0-9A-Fa-f]+\): 0xe \(mismatch\)$" ], ) @@ -323,8 +323,8 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x9\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+f0, 0x[0-9A-Fa-f]+00\): 0x1 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x2 \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+f0, 0x[0-9A-Fa-f]+00\\): 0x1 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x2 \\(mismatch\\)$" ], ) @@ -335,7 +335,7 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x0\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x1 \(mismatch\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x1 \(mismatch\)$" ], ) @@ -361,16 +361,16 @@ def test_mte_tag_write(self): self.expect( "memory tag write mte_buf_2 9 --end-addr mte_buf_2", patterns=[ - "error: End address \(0x[A-Fa-f0-9]+\) must be " - "greater than the start address \(0x[A-Fa-f0-9]+\)" + r"error: End address \(0x[A-Fa-f0-9]+\) must be " + r"greater than the start address \(0x[A-Fa-f0-9]+\)" ], error=True, ) self.expect( "memory tag write mte_buf_2 9 --end-addr mte_buf_2-16", patterns=[ - "error: End address \(0x[A-Fa-f0-9]+\) must be " - "greater than the start address \(0x[A-Fa-f0-9]+\)" + r"error: End address \(0x[A-Fa-f0-9]+\) must be " + r"greater than the start address \(0x[A-Fa-f0-9]+\)" ], error=True, ) @@ -391,10 +391,10 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x0\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x4 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x5 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\): 0x4 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+30, 0x[0-9A-Fa-f]+40\): 0x0$" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x4 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\\): 0x5 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\\): 0x4 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+30, 0x[0-9A-Fa-f]+40\\): 0x0$" ], ) @@ -409,9 +409,9 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x0\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x6 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x6 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\): 0x4 \(mismatch\)$" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x6 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\\): 0x6 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\\): 0x4 \\(mismatch\\)$" ], ) @@ -423,10 +423,10 @@ def test_mte_tag_write(self): patterns=[ "Logical tag: 0x0\n" "Allocation tags:\n" - "\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x3 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x3 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\): 0x3 \(mismatch\)\n" - "\[0x[0-9A-Fa-f]+30, 0x[0-9A-Fa-f]+40\): 0x0$" + "\\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\\): 0x3 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\\): 0x3 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\\): 0x3 \\(mismatch\\)\n" + "\\[0x[0-9A-Fa-f]+30, 0x[0-9A-Fa-f]+40\\): 0x0$" ], ) @@ -452,8 +452,8 @@ def test_mte_memory_read_tag_display(self): self.expect( 'memory read mte_buf mte_buf+32 -f "x" -l 1 -s 16 --show-tags', patterns=[ - "0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n" - "0x[0-9A-Fa-f]+10: 0x0+ \(tag: 0x1\)" + "0x[0-9A-Fa-f]+00: 0x0+ \\(tag: 0x0\\)\n" + "0x[0-9A-Fa-f]+10: 0x0+ \\(tag: 0x1\\)" ], ) @@ -461,13 +461,13 @@ def test_mte_memory_read_tag_display(self): # per line. self.expect( 'memory read mte_buf mte_buf+32 -f "x" -l 1 -s 32 --show-tags', - patterns=["0x[0-9A-Fa-f]+00: 0x0+ \(tags: 0x0 0x1\)\n"], + patterns=["0x[0-9A-Fa-f]+00: 0x0+ \\(tags: 0x0 0x1\\)\n"], ) # Reading half a granule still shows you the tag for that granule self.expect( 'memory read mte_buf mte_buf+8 -f "x" -l 1 -s 8 --show-tags', - patterns=["0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n"], + patterns=["0x[0-9A-Fa-f]+00: 0x0+ \\(tag: 0x0\\)\n"], ) # We can read a whole number of granules but split them over more lines @@ -475,10 +475,10 @@ def test_mte_memory_read_tag_display(self): self.expect( 'memory read mte_buf+32 mte_buf+64 -f "x" -l 1 -s 8 --show-tags', patterns=[ - "0x[0-9A-Fa-f]+20: 0x0+ \(tag: 0x2\)\n" - "0x[0-9A-Fa-f]+28: 0x0+ \(tag: 0x2\)\n" - "0x[0-9A-Fa-f]+30: 0x0+ \(tag: 0x3\)\n" - "0x[0-9A-Fa-f]+38: 0x0+ \(tag: 0x3\)" + "0x[0-9A-Fa-f]+20: 0x0+ \\(tag: 0x2\\)\n" + "0x[0-9A-Fa-f]+28: 0x0+ \\(tag: 0x2\\)\n" + "0x[0-9A-Fa-f]+30: 0x0+ \\(tag: 0x3\\)\n" + "0x[0-9A-Fa-f]+38: 0x0+ \\(tag: 0x3\\)" ], ) @@ -488,10 +488,10 @@ def test_mte_memory_read_tag_display(self): self.expect( 'memory read mte_buf+32+8 mte_buf+64+8 -f "x" -l 1 -s 8 --show-tags', patterns=[ - "0x[0-9A-Fa-f]+28: 0x0+ \(tag: 0x2\)\n" - "0x[0-9A-Fa-f]+30: 0x0+ \(tag: 0x3\)\n" - "0x[0-9A-Fa-f]+38: 0x0+ \(tag: 0x3\)\n" - "0x[0-9A-Fa-f]+40: 0x0+ \(tag: 0x4\)" + "0x[0-9A-Fa-f]+28: 0x0+ \\(tag: 0x2\\)\n" + "0x[0-9A-Fa-f]+30: 0x0+ \\(tag: 0x3\\)\n" + "0x[0-9A-Fa-f]+38: 0x0+ \\(tag: 0x3\\)\n" + "0x[0-9A-Fa-f]+40: 0x0+ \\(tag: 0x4\\)" ], ) @@ -501,10 +501,10 @@ def test_mte_memory_read_tag_display(self): self.expect( 'memory read mte_buf+32+4 mte_buf+64+4 -f "x" -l 1 -s 8 --show-tags', patterns=[ - "0x[0-9A-Fa-f]+24: 0x0+ \(tag: 0x2\)\n" - "0x[0-9A-Fa-f]+2c: 0x0+ \(tags: 0x2 0x3\)\n" - "0x[0-9A-Fa-f]+34: 0x0+ \(tag: 0x3\)\n" - "0x[0-9A-Fa-f]+3c: 0x0+ \(tags: 0x3 0x4\)" + "0x[0-9A-Fa-f]+24: 0x0+ \\(tag: 0x2\\)\n" + "0x[0-9A-Fa-f]+2c: 0x0+ \\(tags: 0x2 0x3\\)\n" + "0x[0-9A-Fa-f]+34: 0x0+ \\(tag: 0x3\\)\n" + "0x[0-9A-Fa-f]+3c: 0x0+ \\(tags: 0x3 0x4\\)" ], ) @@ -516,15 +516,17 @@ def test_mte_memory_read_tag_display(self): 'memory read mte_buf-16 mte_buf+32 -f "x" -l 1 -s 16 --show-tags', patterns=[ "0x[0-9A-Fa-f]+f0: 0x0+\n" - "0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n" - "0x[0-9A-Fa-f]+10: 0x0+ \(tag: 0x1\)" + "0x[0-9A-Fa-f]+00: 0x0+ \\(tag: 0x0\\)\n" + "0x[0-9A-Fa-f]+10: 0x0+ \\(tag: 0x1\\)" ], ) # End of range is untagged self.expect( 'memory read mte_buf+page_size-16 mte_buf+page_size+16 -f "x" -l 1 -s 16 --show-tags', - patterns=["0x[0-9A-Fa-f]+f0: 0x0+ \(tag: 0xf\)\n" "0x[0-9A-Fa-f]+00: 0x0+"], + patterns=[ + "0x[0-9A-Fa-f]+f0: 0x0+ \\(tag: 0xf\\)\n" "0x[0-9A-Fa-f]+00: 0x0+" + ], ) # The smallest MTE range we can get is a single page so we just check @@ -533,8 +535,8 @@ def test_mte_memory_read_tag_display(self): self.expect( 'memory read mte_read_only-16 mte_read_only+page_size+16 -f "x" -l 1 -s 16 --force --show-tags', patterns=[ - "0x[0-9A-Fa-f]+f0: 0x0+\n" "0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n", - "0x[0-9A-Fa-f]+f0: 0x0+ \(tag: 0x0\)\n" "0x[0-9A-Fa-f]+00: 0x0+", + "0x[0-9A-Fa-f]+f0: 0x0+\n" "0x[0-9A-Fa-f]+00: 0x0+ \\(tag: 0x0\\)\n", + "0x[0-9A-Fa-f]+f0: 0x0+ \\(tag: 0x0\\)\n" "0x[0-9A-Fa-f]+00: 0x0+", ], ) @@ -542,21 +544,21 @@ def test_mte_memory_read_tag_display(self): # <no tag> is shown in where the tag would be, to keep the order intact. self.expect( 'memory read mte_buf-16 mte_buf+32 -f "x" -l 1 -s 32 --show-tags', - patterns=["0x[0-9A-Fa-f]+f0: 0x0+ \(tags: <no tag> 0x0\)"], + patterns=[r"0x[0-9A-Fa-f]+f0: 0x0+ \(tags: <no tag> 0x0\)"], ) self.expect( 'memory read mte_read_only+page_size-16 mte_read_only+page_size+16 -f "x" -l 1 -s 32 --show-tags', - patterns=["0x[0-9A-Fa-f]+f0: 0x0+ \(tags: 0x0 <no tag>\)"], + patterns=[r"0x[0-9A-Fa-f]+f0: 0x0+ \(tags: 0x0 <no tag>\)"], ) # Here the start address is unaligned so we cover 3 granules instead of 2 self.expect( 'memory read mte_buf-16+4 mte_buf+32+4 -f "x" -l 1 -s 32 --show-tags', - patterns=["0x[0-9A-Fa-f]+f4: 0x0+ \(tags: <no tag> 0x0 0x1\)"], + patterns=[r"0x[0-9A-Fa-f]+f4: 0x0+ \(tags: <no tag> 0x0 0x1\)"], ) self.expect( 'memory read mte_read_only+page_size-16+4 mte_read_only+page_size+16+4 -f "x" -l 1 -s 32 --show-tags', - patterns=["0x[0-9A-Fa-f]+f4: 0x0+ \(tags: 0x0 <no tag> <no tag>\)"], + patterns=[r"0x[0-9A-Fa-f]+f4: 0x0+ \(tags: 0x0 <no tag> <no tag>\)"], ) # Some formats call DumpDataExtractor multiple times, @@ -564,24 +566,24 @@ def test_mte_memory_read_tag_display(self): self.expect( 'memory read mte_buf mte_buf+32 -f "x" --show-tags', patterns=[ - "0x[0-9A-Fa-f]+00: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x0\)\n", - "0x[0-9A-Fa-f]+10: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x1\)", + "0x[0-9A-Fa-f]+00: 0x0+ 0x0+ 0x0+ 0x0+ \\(tag: 0x0\\)\n", + "0x[0-9A-Fa-f]+10: 0x0+ 0x0+ 0x0+ 0x0+ \\(tag: 0x1\\)", ], ) self.expect( 'memory read mte_buf mte_buf+32 -f "bytes with ASCII" --show-tags', patterns=[ - "0x[0-9A-Fa-f]+00: (00 ){16} \.{16} \(tag: 0x0\)\n", - "0x[0-9A-Fa-f]+10: (00 ){16} \.{16} \(tag: 0x1\)", + "0x[0-9A-Fa-f]+00: (00 ){16} \\.{16} \\(tag: 0x0\\)\n", + "0x[0-9A-Fa-f]+10: (00 ){16} \\.{16} \\(tag: 0x1\\)", ], ) self.expect( 'memory read mte_buf mte_buf+32 -f "uint8_t[]" -s 16 -l 1 --show-tags', patterns=[ - "0x[0-9A-Fa-f]+00: \{(0x00 ){15}0x00\} \(tag: 0x0\)\n" - "0x[0-9A-Fa-f]+10: \{(0x00 ){15}0x00\} \(tag: 0x1\)" + "0x[0-9A-Fa-f]+00: \\{(0x00 ){15}0x00\\} \\(tag: 0x0\\)\n" + "0x[0-9A-Fa-f]+10: \\{(0x00 ){15}0x00\\} \\(tag: 0x1\\)" ], ) @@ -594,12 +596,12 @@ def test_mte_memory_read_tag_display_repeated(self): self.expect( 'memory read mte_buf mte_buf+16 -f "x" --show-tags', - patterns=["0x[0-9A-fa-f]+00: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x0\)"], + patterns=[r"0x[0-9A-fa-f]+00: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x0\)"], ) # Equivalent to just pressing enter on the command line. self.expect( "memory read", - patterns=["0x[0-9A-fa-f]+10: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x1\)"], + patterns=[r"0x[0-9A-fa-f]+10: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x1\)"], ) # You can add the argument to an existing repetition without resetting @@ -613,10 +615,10 @@ def test_mte_memory_read_tag_display_repeated(self): # Note that the formatting returns to default here. self.expect( "memory read --show-tags", - patterns=["0x[0-9A-fa-f]+20: (00 )+ \.+ \(tag: 0x2\)"], + patterns=[r"0x[0-9A-fa-f]+20: (00 )+ \.+ \(tag: 0x2\)"], ) self.expect( - "memory read", patterns=["0x[0-9A-fa-f]+30: (00 )+ \.+ \(tag: 0x3\)"] + "memory read", patterns=[r"0x[0-9A-fa-f]+30: (00 )+ \.+ \(tag: 0x3\)"] ) # A fresh command reverts to the default of tags being off. @@ -641,8 +643,8 @@ def test_mte_memory_find(self): cmd = 'memory find -s "LLDB" mte_buf+64 mte_buf+512' found_pattern = "data found at location: 0x[0-9A-Fa-f]+80" results_patterns = [ - "0x[0-9A-Fa-f]+80: 4c 4c 44 42 (00 )+ LLDB\.+", - "0x[0-9A-Fa-f]+90: 00 00 00 00 (00 )+ \.+", + r"0x[0-9A-Fa-f]+80: 4c 4c 44 42 (00 )+ LLDB\.+", + r"0x[0-9A-Fa-f]+90: 00 00 00 00 (00 )+ \.+", ] # Default is not to show tags @@ -651,8 +653,8 @@ def test_mte_memory_find(self): cmd + " --show-tags", patterns=[ found_pattern, - results_patterns[0] + " \(tag: 0x8\)", - results_patterns[1] + " \(tag: 0x9\)", + results_patterns[0] + r" \(tag: 0x8\)", + results_patterns[1] + r" \(tag: 0x9\)", ], ) @@ -661,7 +663,7 @@ def test_mte_memory_find(self): 'memory find -s "DB" mte_buf+64 mte_buf+512 --show-tags', patterns=[ "data found at location: 0x[0-9A-Fa-f]+82\n" - "0x[0-9A-Fa-f]+82: 44 42 (00 )+ DB\.+ \(tags: 0x8 0x9\)\n", - "0x[0-9A-Fa-f]+92: 00 00 (00 )+ ..\.+ \(tags: 0x9 0xa\)", + "0x[0-9A-Fa-f]+82: 44 42 (00 )+ DB\\.+ \\(tags: 0x8 0x9\\)\n", + "0x[0-9A-Fa-f]+92: 00 00 (00 )+ ..\\.+ \\(tags: 0x9 0xa\\)", ], ) diff --git a/lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py b/lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py index 2d6470505cf7c..331c32749e32c 100644 --- a/lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py +++ b/lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py @@ -50,9 +50,9 @@ def test_mte_tag_fault_sync(self): self.expect( "continue", patterns=[ - "\* thread #1, name = 'a.out', stop reason = signal SIGSEGV: " - "sync tag check fault \(fault address=0x9[0-9A-Fa-f]+11\ " - "logical tag=0x9 allocation tag=0xa\)" + r"\* thread #1, name = 'a.out', stop reason = signal SIGSEGV: " + r"sync tag check fault \(fault address=0x9[0-9A-Fa-f]+11\ " + r"logical tag=0x9 allocation tag=0xa\)" ], ) diff --git a/lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py b/lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py index 8eadd65466a49..509dae3aed855 100644 --- a/lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py +++ b/lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py @@ -39,7 +39,8 @@ def test_mte_regions(self): # Despite the non address bits we should find a region self.expect( - "memory region the_page", patterns=["\[0x[0-9A-Fa-f]+-0x[0-9A-Fa-f]+\) r-x"] + "memory region the_page", + patterns=[r"\[0x[0-9A-Fa-f]+-0x[0-9A-Fa-f]+\) r-x"], ) # Check that the usual error message is displayed after repeating @@ -68,5 +69,6 @@ def test_mte_regions(self): # This should not error, since the user supplied address overrides # the previous end address. self.expect( - "memory region the_page", patterns=["\[0x[0-9A-Fa-f]+-0x[0-9A-Fa-f]+\) r-x"] + "memory region the_page", + patterns=[r"\[0x[0-9A-Fa-f]+-0x[0-9A-Fa-f]+\) r-x"], ) diff --git a/lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py b/lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py index 52055f250a584..8ff72c9a74edd 100644 --- a/lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py +++ b/lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py @@ -6,7 +6,7 @@ @skipUnlessDarwin class AddDsymDownload(TestBase): - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") def get_uuid(self): dwarfdump_cmd_output = subprocess.check_output( diff --git a/lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py b/lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py index db3074d7e7942..9309de4824ec4 100644 --- a/lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py +++ b/lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py @@ -285,7 +285,7 @@ def test_lc_note_main_bin_spec_os_plugin(self): for l in python_init: writer.write(l + "\n") - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") dwarfdump_cmd_output = subprocess.check_output( ('/usr/bin/dwarfdump --uuid "%s"' % aout_exe), shell=True ).decode("utf-8") diff --git a/lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py b/lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py index d4366196c53c3..a3f9144572da5 100644 --- a/lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py +++ b/lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py @@ -32,7 +32,7 @@ def test_lc_note(self): lambda: os.environ.pop("LLDB_APPLE_DSYMFORUUID_EXECUTABLE", None) ) - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") dwarfdump_cmd_output = subprocess.check_output( ('/usr/bin/dwarfdump --uuid "%s"' % self.test_exe), shell=True ).decode("utf-8") diff --git a/lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py b/lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py index 897eab23e05e2..28472cb787d4a 100644 --- a/lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py +++ b/lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py @@ -107,7 +107,7 @@ def test_corefile_binaries_dsymforuuid(self): ) ) - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") dwarfdump_cmd_output = subprocess.check_output( ('/usr/bin/dwarfdump --uuid "%s"' % self.libtwo_exe), shell=True ).decode("utf-8") diff --git a/lldb/test/API/macosx/simulator/TestSimulatorPlatform.py b/lldb/test/API/macosx/simulator/TestSimulatorPlatform.py index a69f7a055c79b..faf2256b03a0d 100644 --- a/lldb/test/API/macosx/simulator/TestSimulatorPlatform.py +++ b/lldb/test/API/macosx/simulator/TestSimulatorPlatform.py @@ -72,7 +72,7 @@ def run_with(self, arch, os, vers, env, expected_load_command): self, "break here", lldb.SBFileSpec("hello.c") ) triple_re = "-".join([arch, "apple", os + vers + ".*"] + env_list) - self.expect("image list -b -t", patterns=["a\.out " + triple_re]) + self.expect("image list -b -t", patterns=[r"a\.out " + triple_re]) self.check_debugserver(log, os + env, vers) @skipIfAsan diff --git a/lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py b/lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py index 02ab856aabc6b..bc19c69df7620 100644 --- a/lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py +++ b/lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py @@ -42,7 +42,7 @@ def test_lc_note(self): lambda: os.environ.pop("LLDB_APPLE_DSYMFORUUID_EXECUTABLE", None) ) - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") dwarfdump_cmd_output = subprocess.check_output( ('/usr/bin/dwarfdump --uuid "%s"' % self.aout_exe), shell=True ).decode("utf-8") diff --git a/lldb/test/API/python_api/address_range/TestAddressRange.py b/lldb/test/API/python_api/address_range/TestAddressRange.py index ae4b8c7c90ce4..3564022702497 100644 --- a/lldb/test/API/python_api/address_range/TestAddressRange.py +++ b/lldb/test/API/python_api/address_range/TestAddressRange.py @@ -191,7 +191,7 @@ def test_address_range_print_resolved(self): interp.HandleCommand(script, result, False) self.assertTrue(result.Succeeded(), "script command succeeded") # [0x1000-0x2000] // Resolved with target or addresses without sections - self.assertRegex(result.GetOutput(), "^\[0x[0-9a-f]+\-0x[0-9a-f]+\)") + self.assertRegex(result.GetOutput(), r"^\[0x[0-9a-f]+\-0x[0-9a-f]+\)") process.Kill() def test_address_range_print_no_section_resolved(self): @@ -215,7 +215,7 @@ def test_address_range_print_no_section_resolved(self): range_str = str(range) # [0x1000-0x2000] // Resolved with target or addresses without sections - self.assertRegex(range_str, "^\[0x[0-9a-f]+\-0x[0-9a-f]+\)$") + self.assertRegex(range_str, r"^\[0x[0-9a-f]+\-0x[0-9a-f]+\)$") process.Kill() def test_address_range_print_not_resolved(self): @@ -223,7 +223,7 @@ def test_address_range_print_not_resolved(self): range = lldb.SBAddressRange(self.addr1, 8) range_str = str(range) # a.out[0x1000-0x2000] // Without target - self.assertRegex(range_str, "^a.out\[0x[0-9a-f]+\-0x[0-9a-f]+\)$") + self.assertRegex(range_str, r"^a.out\[0x[0-9a-f]+\-0x[0-9a-f]+\)$") def test_address_range_list_print(self): """Make sure the SBAddressRangeList can be printed.""" diff --git a/lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py b/lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py index 260f37c9ed230..0141828ae1eab 100644 --- a/lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py +++ b/lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py @@ -34,7 +34,7 @@ def test_target_arch_init(self): lambda: os.environ.pop("LLDB_APPLE_DSYMFORUUID_EXECUTABLE", None) ) - dwarfdump_uuid_regex = re.compile("UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") + dwarfdump_uuid_regex = re.compile(r"UUID: ([-0-9a-fA-F]+) \(([^\(]+)\) .*") dwarfdump_cmd_output = subprocess.check_output( ('/usr/bin/dwarfdump --uuid "%s"' % aout_exe), shell=True ).decode("utf-8") diff --git a/lldb/test/API/source-manager/TestSourceManager.py b/lldb/test/API/source-manager/TestSourceManager.py index 7d9ce86cdc353..1283c73e152a9 100644 --- a/lldb/test/API/source-manager/TestSourceManager.py +++ b/lldb/test/API/source-manager/TestSourceManager.py @@ -256,7 +256,7 @@ def test_modify_source_file_while_debugging(self): # of breakpoints for the current line, i.e., self.line. import re - m = re.search("^\[(\d+)\].*// Set break point at this line.", output) + m = re.search(r"^\[(\d+)\].*// Set break point at this line.", output) if not m: self.fail("Fail to display source level breakpoints") self.assertGreater(int(m.group(1)), 0) diff --git a/lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py b/lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py index ba35ea9e0b64e..f6b613da964b8 100644 --- a/lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py +++ b/lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py @@ -66,11 +66,11 @@ def test_stackTrace(self): self.assertEqual(len(stackLabels), 2, "expected two label stack frames") self.assertRegex( stackLabels[0][1]["name"], - "Enqueued from com.apple.root.default-qos \(Thread \d\)", + r"Enqueued from com.apple.root.default-qos \(Thread \d\)", ) self.assertRegex( stackLabels[1][1]["name"], - "Enqueued from com.apple.main-thread \(Thread \d\)", + r"Enqueued from com.apple.main-thread \(Thread \d\)", ) for i, frame in stackLabels: diff --git a/lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py b/lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py index 132072547e207..c8055f9b6320c 100644 --- a/lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py +++ b/lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py @@ -42,7 +42,7 @@ def test_module_info(self): context = self.expect_gdbremote_sequence() spec = context.get("spec") self.assertRegex(spec, '"file_path":".*"') - self.assertRegex(spec, '"file_offset":\d+') - self.assertRegex(spec, '"file_size":\d+') - self.assertRegex(spec, '"triple":"\w*-\w*-.*"') + self.assertRegex(spec, r'"file_offset":\d+') + self.assertRegex(spec, r'"file_size":\d+') + self.assertRegex(spec, r'"triple":"\w*-\w*-.*"') self.assertRegex(spec, '"uuid":"[A-Fa-f0-9]+"') diff --git a/lldb/test/API/tools/lldb-server/TestPtyServer.py b/lldb/test/API/tools/lldb-server/TestPtyServer.py index 345f68f6d87d3..c3cb1706cffd1 100644 --- a/lldb/test/API/tools/lldb-server/TestPtyServer.py +++ b/lldb/test/API/tools/lldb-server/TestPtyServer.py @@ -65,7 +65,7 @@ def test_pty_server(self): "read packet: $qXfer:features:read:target.xml:0,200000#00", { "direction": "send", - "regex": re.compile("^\$l(.+)#[0-9a-fA-F]{2}$", flags=re.DOTALL), + "regex": re.compile(r"^\$l(.+)#[0-9a-fA-F]{2}$", flags=re.DOTALL), "capture": {1: "target_xml"}, }, ], diff --git a/lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py b/lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py index bd78a83c65655..c1a92eeb5d5d1 100644 --- a/lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py +++ b/lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py @@ -24,7 +24,7 @@ def test_g_target_xml_returns_correct_data(self): ), { "direction": "send", - "regex": re.compile("^\$l(.+)#[0-9a-fA-F]{2}$", flags=re.DOTALL), + "regex": re.compile(r"^\$l(.+)#[0-9a-fA-F]{2}$", flags=re.DOTALL), "capture": {1: "target_xml"}, }, ], diff --git a/lldb/test/API/types/AbstractBase.py b/lldb/test/API/types/AbstractBase.py index 043a5510c62f2..fb1e25254b281 100644 --- a/lldb/test/API/types/AbstractBase.py +++ b/lldb/test/API/types/AbstractBase.py @@ -20,7 +20,7 @@ def Msg(var, val, using_frame_variable): class GenericTester(TestBase): # This is the pattern by design to match the " var = 'value'" output from # printf() stmts (see basic_type.cpp). - pattern = re.compile(" (\*?a[^=]*) = '([^=]*)'$") + pattern = re.compile(r" (\*?a[^=]*) = '([^=]*)'$") # Assert message. DATA_TYPE_GROKKED = "Data type from expr parser output is parsed correctly" @@ -205,7 +205,7 @@ def generic_type_tester( # output: (char) a_array_bounded[0] = 'a' # try: - dt = re.match("^\((.*)\)", output).group(1) + dt = re.match(r"^\((.*)\)", output).group(1) except: self.fail(self.DATA_TYPE_GROKKED) @@ -284,7 +284,7 @@ def generic_type_expr_tester( # output: (double) $0 = 1100.12 # try: - dt = re.match("^\((.*)\) \$[0-9]+ = ", output).group(1) + dt = re.match(r"^\((.*)\) \$[0-9]+ = ", output).group(1) except: self.fail(self.DATA_TYPE_GROKKED) diff --git a/lldb/utils/lui/sourcewin.py b/lldb/utils/lui/sourcewin.py index efe3c01f3ebd1..a72dad5985ecd 100644 --- a/lldb/utils/lui/sourcewin.py +++ b/lldb/utils/lui/sourcewin.py @@ -210,7 +210,7 @@ def getLocations(event): # inlined frames, so we get the description (which does take # into account inlined functions) and parse it. desc = lldbutil.get_description(location, lldb.eDescriptionLevelFull) - match = re.search("at\ ([^:]+):([\d]+)", desc) + match = re.search(r"at\ ([^:]+):([\d]+)", desc) try: path = match.group(1) line = int(match.group(2).strip()) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits