diff --git a/.github/workflows/version-check.py b/.github/workflows/version-check.py index f75fd50300881b..ed41ef4e1b16b0 100755 --- a/.github/workflows/version-check.py +++ b/.github/workflows/version-check.py @@ -6,7 +6,7 @@ def get_version_from_tag(tag): - m = re.match("llvmorg-([0-9]+)\.([0-9]+)\.([0-9]+)(-rc[0-9]+)?$", tag) + m = re.match(r"llvmorg-([0-9]+)\.([0-9]+)\.([0-9]+)(-rc[0-9]+)?$", tag) if m: if m.lastindex == 4: # We have an rc tag. diff --git a/clang/docs/tools/dump_ast_matchers.py b/clang/docs/tools/dump_ast_matchers.py index 705ff0d4d40985..90a44dbdf5b573 100755 --- a/clang/docs/tools/dump_ast_matchers.py +++ b/clang/docs/tools/dump_ast_matchers.py @@ -101,7 +101,7 @@ def extract_result_types(comment): def strip_doxygen(comment): - """Returns the given comment without \-escaped words.""" + r"""Returns the given comment without \-escaped words.""" # If there is only a doxygen keyword in the line, delete the whole line. comment = re.sub(r"^\\[^\s]+\n", r"", comment, flags=re.M) @@ -236,7 +236,7 @@ def act_on_decl(declaration, comment, allowed_types): # Parse the various matcher definition macros. m = re.match( - """.*AST_TYPE(LOC)?_TRAVERSE_MATCHER(?:_DECL)?\( + r""".*AST_TYPE(LOC)?_TRAVERSE_MATCHER(?:_DECL)?\( \s*([^\s,]+\s*), \s*(?:[^\s,]+\s*), \s*AST_POLYMORPHIC_SUPPORTED_TYPES\(([^)]*)\) diff --git a/clang/test/Analysis/check-analyzer-fixit.py b/clang/test/Analysis/check-analyzer-fixit.py index b616255de89b0c..efed0afc626b95 100644 --- a/clang/test/Analysis/check-analyzer-fixit.py +++ b/clang/test/Analysis/check-analyzer-fixit.py @@ -55,7 +55,7 @@ def run_test_once(args, extra_args): # themselves. We need to keep the comments to preserve line numbers while # avoiding empty lines which could potentially trigger formatting-related # checks. - cleaned_test = re.sub("// *CHECK-[A-Z0-9\-]*:[^\r\n]*", "//", input_text) + cleaned_test = re.sub(r"// *CHECK-[A-Z0-9\-]*:[^\r\n]*", "//", input_text) write_file(temp_file_name, cleaned_test) original_file_name = temp_file_name + ".orig" diff --git a/compiler-rt/lib/asan/scripts/asan_symbolize.py b/compiler-rt/lib/asan/scripts/asan_symbolize.py index b08769614aeb18..058a1614b55e6a 100755 --- a/compiler-rt/lib/asan/scripts/asan_symbolize.py +++ b/compiler-rt/lib/asan/scripts/asan_symbolize.py @@ -316,7 +316,7 @@ def symbolize(self, addr, binary, offset): # * For C functions atos omits parentheses and argument types. # * For C++ functions the function name (i.e., `foo` above) may contain # templates which may contain parentheses. - match = re.match("^(.*) \(in (.*)\) \((.*:\d*)\)$", atos_line) + match = re.match(r"^(.*) \(in (.*)\) \((.*:\d*)\)$", atos_line) logging.debug("atos_line: %s", atos_line) if match: function_name = match.group(1) @@ -541,7 +541,7 @@ def process_line_posix(self, line): # names in the regex because it could be an # Objective-C or C++ demangled name. stack_trace_line_format = ( - "^( *#([0-9]+) *)(0x[0-9a-f]+) *(?:in *.+)? *\((.*)\+(0x[0-9a-f]+)\)" + r"^( *#([0-9]+) *)(0x[0-9a-f]+) *(?:in *.+)? *\((.*)\+(0x[0-9a-f]+)\)" ) match = re.match(stack_trace_line_format, line) if not match: diff --git a/cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py b/cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py index 29d7867e808673..4fa5db1b503cdc 100644 --- a/cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py +++ b/cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py @@ -128,7 +128,7 @@ def get_address_object(address_name: str, offset: int = 0): def _search_line_for_cmd_start(line: str, start: int, valid_commands: dict) -> int: - """Scan `line` for a string matching any key in `valid_commands`. + r"""Scan `line` for a string matching any key in `valid_commands`. Start searching from `start`. Commands escaped with `\` (E.g. `\DexLabel('a')`) are ignored. @@ -543,7 +543,7 @@ def test_parse_share_line(self): def test_parse_escaped(self): """Escaped commands are ignored.""" - lines = ['words \MockCmd("IGNORED") words words words\n'] + lines = [r'words \MockCmd("IGNORED") words words words\n'] values = self._find_all_mock_values_in_lines(lines) diff --git a/cross-project-tests/lit.cfg.py b/cross-project-tests/lit.cfg.py index 9935fe6a199da8..c24f0f93e656f1 100644 --- a/cross-project-tests/lit.cfg.py +++ b/cross-project-tests/lit.cfg.py @@ -223,7 +223,7 @@ def can_target_host(): xcode_lldb_vers = subprocess.check_output(["xcrun", "lldb", "--version"]).decode( "utf-8" ) - match = re.search("lldb-(\d+)", xcode_lldb_vers) + match = re.search(r"lldb-(\d+)", xcode_lldb_vers) if match: apple_lldb_vers = int(match.group(1)) if apple_lldb_vers < 1000: @@ -247,7 +247,7 @@ def get_gdb_version_string(): if len(gdb_vers_lines) < 1: print("Unkown GDB version format (too few lines)", file=sys.stderr) return None - match = re.search("GNU gdb \(.*?\) ((\d|\.)+)", gdb_vers_lines[0].strip()) + match = re.search(r"GNU gdb \(.*?\) ((\d|\.)+)", gdb_vers_lines[0].strip()) if match is None: print(f"Unkown GDB version format: {gdb_vers_lines[0]}", file=sys.stderr) return None @@ -261,7 +261,7 @@ def get_clang_default_dwarf_version_string(triple): # Get the flags passed by the driver and look for -dwarf-version. cmd = f'{llvm_config.use_llvm_tool("clang")} -g -xc -c - -v -### --target={triple}' stderr = subprocess.run(cmd.split(), stderr=subprocess.PIPE).stderr.decode() - match = re.search("-dwarf-version=(\d+)", stderr) + match = re.search(r"-dwarf-version=(\d+)", stderr) if match is None: print("Cannot determine default dwarf version", file=sys.stderr) return None diff --git a/libcxx/utils/synchronize_csv_status_files.py b/libcxx/utils/synchronize_csv_status_files.py index 5ff718e5a8f916..26f662b521be87 100755 --- a/libcxx/utils/synchronize_csv_status_files.py +++ b/libcxx/utils/synchronize_csv_status_files.py @@ -284,7 +284,7 @@ def sync_csv(rows: List[Tuple], from_github: List[PaperInfo]) -> List[Tuple]: results.append(gh.for_printing()) continue elif paper.status != gh.status: - print(f"We found a CSV row and a Github issue with different statuses:\nrow: {row}\Github issue: {gh}") + print(rf"We found a CSV row and a Github issue with different statuses:\nrow: {row}\Github issue: {gh}") results.append(row) return results diff --git a/lld/test/MachO/tools/validate-unwind-info.py b/lld/test/MachO/tools/validate-unwind-info.py index ac49f1ecb58899..1cc82f82792731 100755 --- a/lld/test/MachO/tools/validate-unwind-info.py +++ b/lld/test/MachO/tools/validate-unwind-info.py @@ -11,7 +11,7 @@ def main(): - hex = "[a-f\d]" + hex = r"[a-f\d]" hex8 = hex + "{8}" parser = argparse.ArgumentParser(description=__doc__) diff --git a/lld/utils/benchmark.py b/lld/utils/benchmark.py index a07d5ecc69417c..7202e07ec438d2 100755 --- a/lld/utils/benchmark.py +++ b/lld/utils/benchmark.py @@ -51,7 +51,7 @@ def __str__(self): def getBenchmarks(): ret = [] for i in glob.glob("*/response*.txt"): - m = re.match("response-(.*)\.txt", os.path.basename(i)) + m = re.match(r"response-(.*)\.txt", os.path.basename(i)) variant = m.groups()[0] if m else None ret.append(Bench(os.path.dirname(i), variant)) return ret diff --git a/lldb/examples/python/crashlog.py b/lldb/examples/python/crashlog.py index 368437ed63e46b..bacba1b453fab6 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.+) @@ -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 eeb3c177cfa901..f847b95ab119f1 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 40ee15853fdb21..df81353b268c7b 100755 --- a/lldb/examples/python/gdbremote.py +++ b/lldb/examples/python/gdbremote.py @@ -1537,13 +1537,13 @@ 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( "(?Psend|read) packet: (?P.*)" ) - packet_contents_name_regex = re.compile("\$([^#]*)#[0-9a-fA-F]{2}") - packet_checksum_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(r".*#[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 e086df5fd15282..8d52bd9af43f6d 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 +" @@ -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 -" @@ -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 " diff --git a/lldb/examples/python/performance.py b/lldb/examples/python/performance.py index 869a0b061cf852..b86b5a52522e09 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 f6dcc8b9a79437..b16745ee963c9f 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[^=]+)=(?P.*)") - addr_regex = re.compile("^\s*(?P0x[0-9A-Fa-f]+)\s*$") + addr_regex = re.compile(r"^\s*(?P0x[0-9A-Fa-f]+)\s*$") range_regex = re.compile( - "^\s*(?P0x[0-9A-Fa-f]+)\s*(?P[-+])\s*(?P0x[0-9A-Fa-f]+)\s*$" + r"^\s*(?P0x[0-9A-Fa-f]+)\s*(?P[-+])\s*(?P0x[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 998a080565b6b3..4a334fb54b28cc 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 rb"\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 07c17993bc8786..8ab219a92d99dd 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 c31a08ac00182f..2cb8d225d6d07b 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 d27f07717affb8..a82141a0792f25 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 41faf07f8cb44a..17fd952130ee72 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 3bb45521747d82..69aa674f6ae5d0 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 f0f5bcb3218011..d9fdb8e7d54ba7 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\)." + r"--show-tags\n\s+Include memory tags in output " + r"\(does not apply to binary output\)." ], ) self.expect( "help memory find", - patterns=["--show-tags\n\s+Include memory tags in output."], + patterns=[r"--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 fcf61c9775c635..a7f8b38649b22f 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 abd3aeace89695..09c2b26f327652 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" + r"^\s+rdx = 0x5555555555555555\n" ".*" "^3 registers were unavailable.\n" "\n" "^supplementary registers:\n" - "^\s+edx = 0x55555555\n" + r"^\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 bfd7a382064e9d..0bd6c07644ed15 100644 --- a/lldb/test/API/commands/register/register/register_command/TestRegisters.py +++ b/lldb/test/API/commands/register/register/register_command/TestRegisters.py @@ -630,14 +630,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 385acceb7a8b5c..8e02a7cb21b1b0 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 = r"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. @@ -671,7 +671,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"), @@ -793,11 +793,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"]) @@ -894,7 +894,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 cb7a5f33f6643e..f7601700d790f6 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 05c72945b14390..13d12e3686a177 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 06dc8234591844..4e7560338b1d41 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 3f67475d631ddc..52449631f6aa99 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/TestTraceTSC.py b/lldb/test/API/commands/trace/TestTraceTSC.py index 580cb347dc30a5..4a19065e60c2ba 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 5cfcf5d69fd2a5..2412b295bfb591 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 fe99adf4255138..5798c8ffa82203 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 d87e6275f7b51e..e0c93e3c18581d 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 b740689e675380..cc7ac3dda97ccd 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,7 @@ 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 +119,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 +172,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 6fa15d9e5ee606..370781fd4f5e03 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 4046dc79538a5f..c90a5c61d9c0ba 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-skip-summary/TestDataFormatterSkipSummary.py b/lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py index aac18e13bf54f2..460de8a4563f0f 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py @@ -167,7 +167,7 @@ def cleanup(): gcc_version_output = system([[lldbutil.which(self.getCompiler()), "-v"]]) self.trace("my output:", gcc_version_output) for line in gcc_version_output.split(os.linesep): - m = re.search("\(Apple Inc\. build ([0-9]+)\)", line) + m = re.search(r"\(Apple Inc\. build ([0-9]+)\)", line) self.trace("line:", line) if m: gcc_build = int(m.group(1)) 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 59c24bcead4a4a..59004c25348f48 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(): [ "%s::unordered_set" % ns, "size=5 {", - "\[\d\] = 5", - "\[\d\] = 3", - "\[\d\] = 2", + r"\[\d\] = 5", + r"\[\d\] = 3", + r"\[\d\] = 2", ], ) @@ -94,9 +94,9 @@ def cleanup(): [ "%s::unordered_set" % ns, "size=5 {", - '\[\d\] = "is"', - '\[\d\] = "world"', - '\[\d\] = "hello"', + r'\[\d\] = "is"', + r'\[\d\] = "world"', + r'\[\d\] = "hello"', ], ) @@ -105,9 +105,9 @@ def cleanup(): [ "%s::unordered_multiset" % ns, "size=6 {", - "(\[\d\] = 3(\\n|.)+){3}", - "\[\d\] = 2", - "\[\d\] = 1", + r"(\[\d\] = 3(\n|.)+){3}", + r"\[\d\] = 2", + r"\[\d\] = 1", ], ) @@ -116,8 +116,8 @@ def cleanup(): [ "%s::unordered_multiset" % ns, "size=5 {", - '(\[\d\] = "is"(\\n|.)+){2}', - '(\[\d\] = "world"(\\n|.)+){2}', + r'(\[\d\] = "is"(\n|.)+){2}', + r'(\[\d\] = "world"(\n|.)+){2}', ], ) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py index 241226d50df80d..2d1131d99c5f34 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py @@ -31,7 +31,7 @@ def test(self): self.runCmd("run", RUN_SUCCEEDED) lldbutil.skip_if_library_missing( - self, self.target(), lldbutil.PrintableRegex("libc\+\+") + self, self.target(), lldbutil.PrintableRegex(r"libc\+\+") ) # The stop reason of the thread should be breakpoint. diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py index 0919eb3c5dd812..0f2c24baafbdab 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py @@ -25,7 +25,7 @@ def test(self): self.runCmd("run", RUN_SUCCEEDED) lldbutil.skip_if_library_missing( - self, self.target(), lldbutil.PrintableRegex("libc\+\+") + self, self.target(), lldbutil.PrintableRegex(r"libc\+\+") ) # The stop reason of the thread should be breakpoint. 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 0bc34910df7d22..6b883a5bb6c8ff 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 2dbb2b5f5e3a9c..d7849500c378dd 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): """ ) - 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 577411ebc1037d..50182e72e498c5 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 \(or \-\-all\)", + r"Usage: memory region \(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 54b7b77b6773ce..a891ab1c1ac4d1 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 b16869b05e7df0..0c788b2cdfee38 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 0015c8f4785783..d4bbe9bcfac818 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 2f6bb7fc0bb162..6e42cd63573c93 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 0e51d4f7ff4681..bcdd590e00d0a5 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 0d697d6719d5fc..e0813734403a03 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 159f8a4e4b6646..f11006f7feefee 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 2bffd2eea123a6..56bb25b3f3c3d4 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 e1cbe0509ae047..e2521d88258bc9 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 04678ec018bdf4..41181e468c3082 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 80781f5d909123..b5d5dd2370781a 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 60a2590e1559d3..1d5ab15195df82 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/namespace/TestNamespace.py b/lldb/test/API/lang/cpp/namespace/TestNamespace.py index 84891b322180c3..ebb4d64e9e0cfd 100644 --- a/lldb/test/API/lang/cpp/namespace/TestNamespace.py +++ b/lldb/test/API/lang/cpp/namespace/TestNamespace.py @@ -231,12 +231,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 a08c2e721328d4..b8c2c236138686 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 ffce9534e05bd9..4796c849666754 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 8b73254cce4a93..f7d5b7aa097a45 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 = r"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 634e4730c764b7..5fa3f280d33bf5 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 81c409d08364c9..2cd1386289b9ea 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 c9e801422b46c8..a14035db5e0572 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 4d8c9c960ea596..3e33077b8e2d77 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 3ba68f4c35a5c8..4d439fa0046e47 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 3cdca31b8969bd..ac107de7e00a7d 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 0667759a341b83..9b125fea49d0ba 100644 --- a/lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py +++ b/lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py @@ -89,9 +89,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]+\)" ], ) @@ -101,8 +101,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\)$" + r"\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)$" ], ) @@ -111,7 +111,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. @@ -120,7 +120,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\)$" ], ) @@ -129,18 +129,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\)$" + r"\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n" + r"\[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\)$" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n" + r"\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\): 0x2 \(mismatch\)\n" + r"\[0x[A-Fa-f0-9]+30, 0x[A-Fa-f0-9]+40\): 0x3 \(mismatch\)$" ], ) # Here both start and end are unaligned. @@ -148,10 +148,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\)$" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n" + r"\[0x[A-Fa-f0-9]+20, 0x[A-Fa-f0-9]+30\): 0x2 \(mismatch\)\n" + r"\[0x[A-Fa-f0-9]+30, 0x[A-Fa-f0-9]+40\): 0x3 \(mismatch\)\n" + r"\[0x[A-Fa-f0-9]+40, 0x[A-Fa-f0-9]+50\): 0x4 \(mismatch\)$" ], ) @@ -160,7 +160,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$" ], ) @@ -170,8 +170,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\)$" + r"\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)$" ], ) @@ -180,9 +180,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\)$", + r"\[0x[A-Fa-f0-9]+00, 0x[A-Fa-f0-9]+10\): 0x0\n" + r"\[0x[A-Fa-f0-9]+10, 0x[A-Fa-f0-9]+20\): 0x1 \(mismatch\)\n", + r"\[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 c72eb72b05ccea..81c7e8122c1933 100644 --- a/lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py +++ b/lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py @@ -53,7 +53,7 @@ def test_mte_tag_read(self): self.expect( "memory tag read", substrs=[ - "error: wrong number of arguments; expected at least , " + r"error: wrong number of arguments; expected at least , " "at most " ], error=True, @@ -61,7 +61,7 @@ def test_mte_tag_read(self): self.expect( "memory tag read mte_buf buf+16 32", substrs=[ - "error: wrong number of arguments; expected at least , " + r"error: wrong number of arguments; expected at least , " "at most " ], error=True, @@ -69,7 +69,7 @@ def test_mte_tag_read(self): self.expect( "memory tag read not_a_symbol", substrs=[ - 'error: Invalid address expression, address expression "not_a_symbol" ' + r'error: Invalid address expression, address expression "not_a_symbol" ' "evaluation failed" ], error=True, @@ -77,7 +77,7 @@ def test_mte_tag_read(self): self.expect( "memory tag read mte_buf not_a_symbol", substrs=[ - 'error: Invalid end address expression, address expression "not_a_symbol" ' + r'error: Invalid end address expression, address expression "not_a_symbol" ' "evaluation failed" ], error=True, @@ -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, ) @@ -105,7 +105,7 @@ def test_mte_tag_read(self): self.expect( "memory tag read non_mte_buf", patterns=[ - "error: Address range 0x[0-9A-Fa-f]+00:0x[0-9A-Fa-f]+10 is not " + r"error: Address range 0x[0-9A-Fa-f]+00:0x[0-9A-Fa-f]+10 is not " "in a memory tagged region" ], 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\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x0 \(mismatch\)\n" + r"\[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\)$" + r"\[0x[0-9A-Fa-f]+f0, 0x[0-9A-Fa-f]+00\): 0xf \(mismatch\)\n" + r"\[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\)$" + r"\[0x[0-9A-Fa-f]+80, 0x[0-9A-Fa-f]+90\): 0x8 \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+90, 0x[0-9A-Fa-f]+a0\): 0x9\n" + r"\[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\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x9\n" + r"\[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\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0xa \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0xb \(mismatch\)\n" + r"\[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\)$" + r"\[0x[0-9A-Fa-f]+f0, 0x[0-9A-Fa-f]+00\): 0x1 \(mismatch\)\n" + r"\[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$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x4 \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x5 \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\): 0x4 \(mismatch\)\n" + r"\[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\)$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x6 \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x6 \(mismatch\)\n" + r"\[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$" + r"\[0x[0-9A-Fa-f]+00, 0x[0-9A-Fa-f]+10\): 0x3 \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+10, 0x[0-9A-Fa-f]+20\): 0x3 \(mismatch\)\n" + r"\[0x[0-9A-Fa-f]+20, 0x[0-9A-Fa-f]+30\): 0x3 \(mismatch\)\n" + r"\[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\)" + r"0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n" + r"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=[r"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=[r"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\)" + r"0x[0-9A-Fa-f]+20: 0x0+ \(tag: 0x2\)\n" + r"0x[0-9A-Fa-f]+28: 0x0+ \(tag: 0x2\)\n" + r"0x[0-9A-Fa-f]+30: 0x0+ \(tag: 0x3\)\n" + r"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\)" + r"0x[0-9A-Fa-f]+28: 0x0+ \(tag: 0x2\)\n" + r"0x[0-9A-Fa-f]+30: 0x0+ \(tag: 0x3\)\n" + r"0x[0-9A-Fa-f]+38: 0x0+ \(tag: 0x3\)\n" + r"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\)" + r"0x[0-9A-Fa-f]+24: 0x0+ \(tag: 0x2\)\n" + r"0x[0-9A-Fa-f]+2c: 0x0+ \(tags: 0x2 0x3\)\n" + r"0x[0-9A-Fa-f]+34: 0x0+ \(tag: 0x3\)\n" + r"0x[0-9A-Fa-f]+3c: 0x0+ \(tags: 0x3 0x4\)" ], ) @@ -516,15 +516,15 @@ 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\)" + r"0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n" + r"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=[r"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 +533,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+", + r"0x[0-9A-Fa-f]+f0: 0x0+\n" r"0x[0-9A-Fa-f]+00: 0x0+ \(tag: 0x0\)\n", + r"0x[0-9A-Fa-f]+f0: 0x0+ \(tag: 0x0\)\n" "0x[0-9A-Fa-f]+00: 0x0+", ], ) @@ -542,21 +542,21 @@ def test_mte_memory_read_tag_display(self): # 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: 0x0\)"], + patterns=[r"0x[0-9A-Fa-f]+f0: 0x0+ \(tags: 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 \)"], + patterns=[r"0x[0-9A-Fa-f]+f0: 0x0+ \(tags: 0x0 \)"], ) # 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: 0x0 0x1\)"], + patterns=[r"0x[0-9A-Fa-f]+f4: 0x0+ \(tags: 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 \)"], + patterns=[r"0x[0-9A-Fa-f]+f4: 0x0+ \(tags: 0x0 \)"], ) # Some formats call DumpDataExtractor multiple times, @@ -564,24 +564,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\)", + r"0x[0-9A-Fa-f]+00: 0x0+ 0x0+ 0x0+ 0x0+ \(tag: 0x0\)\n", + r"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\)", + r"0x[0-9A-Fa-f]+00: (00 ){16} \.{16} \(tag: 0x0\)\n", + r"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\)" + r"0x[0-9A-Fa-f]+00: \{(0x00 ){15}0x00\} \(tag: 0x0\)\n" + r"0x[0-9A-Fa-f]+10: \{(0x00 ){15}0x00\} \(tag: 0x1\)" ], ) @@ -594,12 +594,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 +613,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 +641,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 +651,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 +661,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\)", + r"0x[0-9A-Fa-f]+82: 44 42 (00 )+ DB\.+ \(tags: 0x8 0x9\)\n", + r"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 420aae48234888..180a3f67df67a6 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 8eadd65466a49c..9c4799a5339052 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,7 @@ 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 +68,5 @@ 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 52055f250a5845..8ff72c9a74eddf 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 db3074d7e79420..9309de4824ec4a 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 d4366196c53c39..a3f9144572da56 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 897eab23e05e2f..28472cb787d4a2 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 b712afdd7560a7..65cc1030cc2022 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(r"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 138792d817dbf3..3ed817f5f5f84d 100644 --- a/lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py +++ b/lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py @@ -43,7 +43,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 ae4b8c7c90ce40..35640227024973 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 260f37c9ed2300..0141828ae1eab9 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 ad7c85aac70eaf..589192ba674951 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-server/TestGdbRemoteModuleInfo.py b/lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py index 132072547e207c..c8055f9b6320c6 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 345f68f6d87d3d..c3cb1706cffd1f 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 bd78a83c656554..c1a92eeb5d5d1f 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 043a5510c62f2d..fb1e25254b2819 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 efe3c01f3ebd11..a72dad5985ecdf 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()) diff --git a/llvm/test/CodeGen/NVPTX/wmma.py b/llvm/test/CodeGen/NVPTX/wmma.py index e1e46f0b8cab34..8f6378e3ce3cc1 100644 --- a/llvm/test/CodeGen/NVPTX/wmma.py +++ b/llvm/test/CodeGen/NVPTX/wmma.py @@ -847,7 +847,7 @@ def gen_check_unsupported_ops(items): ) print("; INTRINSICS: {{^; INTRINSICS_LIST_BEGIN}}") print( - """ + r""" ; NOEXTGEOM-NOT: {{m8n32|m32n8}} ; NOINT-NOT: .{{s32|s8}} diff --git a/llvm/tools/opt-viewer/opt-viewer.py b/llvm/tools/opt-viewer/opt-viewer.py index c9c7db726f7652..2d32d66bbe3aee 100755 --- a/llvm/tools/opt-viewer/opt-viewer.py +++ b/llvm/tools/opt-viewer/opt-viewer.py @@ -135,7 +135,7 @@ def render_inline_remarks(self, r, line): # Column is the number of characters *including* tabs, keep those and # replace everything else with spaces. indent = line[: max(r.Column, 1) - 1] - indent = re.sub("\S", " ", indent) + indent = re.sub(r"\S", " ", indent) # Create expanded message and link if we have a multiline message. lines = r.message.split("\n") diff --git a/llvm/utils/DSAclean.py b/llvm/utils/DSAclean.py index 1b833ff8932483..6937ca9e614f56 100755 --- a/llvm/utils/DSAclean.py +++ b/llvm/utils/DSAclean.py @@ -24,7 +24,7 @@ # it would kill old computers buffer = input.readline() while buffer != "": - if re.compile('label(\s*)=(\s*)"\s%tmp(.\w*)*(\s*)"').search(buffer): + if re.compile(r'label(\s*)=(\s*)"\s%tmp(.\w*)*(\s*)"').search(buffer): # skip next line, write neither this line nor the next buffer = input.readline() else: diff --git a/llvm/utils/DSAextract.py b/llvm/utils/DSAextract.py index 96f818bd2a8316..9787922e5f6742 100755 --- a/llvm/utils/DSAextract.py +++ b/llvm/utils/DSAextract.py @@ -69,7 +69,7 @@ # if this name is for the current node, add the dot variable name # for the node (it will be Node(hex number)) to our set of nodes if regexp.search(buffer): - node_set |= set([re.split("\s+", buffer, 2)[1]]) + node_set |= set([re.split(r"\s+", buffer, 2)[1]]) break buffer = input.readline() @@ -105,7 +105,7 @@ if nodes[0][:13] in node_set and nodes[1][:13] in node_set: output.write(buffer) elif nodeexp.search(buffer): # this is a node line - node = re.split("\s+", buffer, 2)[1] + node = re.split(r"\s+", buffer, 2)[1] if node in node_set: output.write(buffer) else: # this is a support line diff --git a/llvm/utils/add_argument_names.py b/llvm/utils/add_argument_names.py index 2860dd4b90bcb5..af2f1297d9ee7f 100755 --- a/llvm/utils/add_argument_names.py +++ b/llvm/utils/add_argument_names.py @@ -4,7 +4,7 @@ def fix_string(s): TYPE = re.compile( - '\s*(i[0-9]+|float|double|x86_fp80|fp128|ppc_fp128|\[\[.*?\]\]|\[2 x \[\[[A-Z_0-9]+\]\]\]|<.*?>|{.*?}|\[[0-9]+ x .*?\]|%["a-z:A-Z0-9._]+({{.*?}})?|%{{.*?}}|{{.*?}}|\[\[.*?\]\])(\s*(\*|addrspace\(.*?\)|dereferenceable\(.*?\)|byval\(.*?\)|sret|zeroext|inreg|returned|signext|nocapture|align \d+|swiftself|swifterror|readonly|noalias|inalloca|nocapture))*\s*' + r'\s*(i[0-9]+|float|double|x86_fp80|fp128|ppc_fp128|\[\[.*?\]\]|\[2 x \[\[[A-Z_0-9]+\]\]\]|<.*?>|{.*?}|\[[0-9]+ x .*?\]|%["a-z:A-Z0-9._]+({{.*?}})?|%{{.*?}}|{{.*?}}|\[\[.*?\]\])(\s*(\*|addrspace\(.*?\)|dereferenceable\(.*?\)|byval\(.*?\)|sret|zeroext|inreg|returned|signext|nocapture|align \d+|swiftself|swifterror|readonly|noalias|inalloca|nocapture))*\s*' ) counter = 0 diff --git a/llvm/utils/convert-constraint-log-to-z3.py b/llvm/utils/convert-constraint-log-to-z3.py index a3c33f2ef45996..f96ac3106f68b4 100755 --- a/llvm/utils/convert-constraint-log-to-z3.py +++ b/llvm/utils/convert-constraint-log-to-z3.py @@ -46,7 +46,7 @@ def main(): content = f.read() groups = content.split("---") - var_re = re.compile("x\d+") + var_re = re.compile(r"x\d+") print("from z3 import *") for group in groups: diff --git a/llvm/utils/extract_symbols.py b/llvm/utils/extract_symbols.py index 684e124c762594..eccbc496699fee 100755 --- a/llvm/utils/extract_symbols.py +++ b/llvm/utils/extract_symbols.py @@ -53,12 +53,12 @@ def nm_get_symbols(tool, lib): # The -P flag displays the size field for symbols only when applicable, # so the last field is optional. There's no space after the value field, # but \s+ match newline also, so \s+\S* will match the optional size field. - match = re.match("^(\S+)\s+[BDGRSTuVW]\s+\S+\s+\S*$", line) + match = re.match(r"^(\S+)\s+[BDGRSTuVW]\s+\S+\s+\S*$", line) if match: yield (match.group(1), True) # Look for undefined symbols, which have type U and may or may not # (depending on which nm is being used) have value and size. - match = re.match("^(\S+)\s+U\s+(\S+\s+\S*)?$", line) + match = re.match(r"^(\S+)\s+U\s+(\S+\s+\S*)?$", line) if match: yield (match.group(1), False) process.wait() @@ -71,7 +71,7 @@ def readobj_is_32bit_windows(tool, lib): [tool, "--file-header", lib], universal_newlines=True ) for line in output.splitlines(): - match = re.match("Format: (\S+)", line) + match = re.match(r"Format: (\S+)", line) if match: return match.group(1) == "COFF-i386" return False @@ -100,10 +100,10 @@ def should_keep_microsoft_symbol(symbol, calling_convention_decoration): # An anonymous namespace is mangled as ?A(maybe hex number)@. Any symbol # that mentions an anonymous namespace can be discarded, as the anonymous # namespace doesn't exist outside of that translation unit. - elif re.search("\?A(0x\w+)?@", symbol): + elif re.search(r"\?A(0x\w+)?@", symbol): return None # Skip X86GenMnemonicTables functions, they are not exposed from llvm/include/. - elif re.match("\?is[A-Z0-9]*@X86@llvm", symbol): + elif re.match(r"\?is[A-Z0-9]*@X86@llvm", symbol): return None # Keep mangled llvm:: and clang:: function symbols. How we detect these is a # bit of a mess and imprecise, but that avoids having to completely demangle @@ -140,7 +140,7 @@ def should_keep_itanium_symbol(symbol, calling_convention_decoration): if not symbol.startswith("_") and not symbol.startswith("."): return symbol # Discard manglings that aren't nested names - match = re.match("\.?_Z(T[VTIS])?(N.+)", symbol) + match = re.match(r"\.?_Z(T[VTIS])?(N.+)", symbol) if not match: return None # Demangle the name. If the name is too complex then we don't need to keep @@ -169,7 +169,7 @@ class TooComplexName(Exception): # (name, rest of string) pair. def parse_itanium_name(arg): # Check for a normal name - match = re.match("(\d+)(.+)", arg) + match = re.match(r"(\d+)(.+)", arg) if match: n = int(match.group(1)) name = match.group(1) + match.group(2)[:n] @@ -196,7 +196,7 @@ def skip_itanium_template(arg): tmp = arg[1:] while tmp: # Check for names - match = re.match("(\d+)(.+)", tmp) + match = re.match(r"(\d+)(.+)", tmp) if match: n = int(match.group(1)) tmp = match.group(2)[n:] @@ -280,19 +280,19 @@ def parse_microsoft_mangling(arg): if arg.startswith("@"): return components # Check for a simple name - match = re.match("(\w+)@(.+)", arg) + match = re.match(r"(\w+)@(.+)", arg) if match: components.append((match.group(1), False)) arg = match.group(2) continue # Check for a special function name - match = re.match("(\?_?\w)(.+)", arg) + match = re.match(r"(\?_?\w)(.+)", arg) if match: components.append((match.group(1), False)) arg = match.group(2) continue # Check for a template name - match = re.match("\?\$(\w+)@[^@]+@(.+)", arg) + match = re.match(r"\?\$(\w+)@[^@]+@(.+)", arg) if match: components.append((match.group(1), True)) arg = match.group(2) @@ -323,7 +323,7 @@ def get_template_name(sym, mangling): if mangling == "microsoft": names = parse_microsoft_mangling(sym) else: - match = re.match("\.?_Z(T[VTIS])?(N.+)", sym) + match = re.match(r"\.?_Z(T[VTIS])?(N.+)", sym) if match: names, _ = parse_itanium_nested_name(match.group(2)) else: diff --git a/llvm/utils/extract_vplan.py b/llvm/utils/extract_vplan.py index cff6f5074d7716..96b9fd1b9a936b 100755 --- a/llvm/utils/extract_vplan.py +++ b/llvm/utils/extract_vplan.py @@ -24,7 +24,7 @@ matches = re.findall(pattern, sys.stdin.read()) for vplan in matches: - m = re.search("graph \[.+(VF=.+,UF.+)", vplan) + m = re.search(r"graph \[.+(VF=.+,UF.+)", vplan) if not m: raise ValueError("Can't get the right VPlan name") name = re.sub("[^a-zA-Z0-9]", "", m.group(1)) diff --git a/llvm/utils/git/github-automation.py b/llvm/utils/git/github-automation.py index da467f46b4dd31..ef6032c524c285 100755 --- a/llvm/utils/git/github-automation.py +++ b/llvm/utils/git/github-automation.py @@ -53,9 +53,9 @@ def escape_description(str): # https://github.com/github/markup/issues/1168#issuecomment-494946168 str = html.escape(str, False) # '@' followed by alphanum is a user name - str = re.sub("@(?=\w)", "@", str) + str = re.sub(r"@(?=\w)", "@", str) # '#' followed by digits is considered an issue number - str = re.sub("#(?=\d)", "#", str) + str = re.sub(r"#(?=\d)", "#", str) return str @@ -474,7 +474,7 @@ def issue_remove_cherry_pick_failed_label(self): def get_main_commit(self, cherry_pick_sha: str) -> github.Commit.Commit: commit = self.repo.get_commit(cherry_pick_sha) message = commit.commit.message - m = re.search("\(cherry picked from commit ([0-9a-f]+)\)", message) + m = re.search(r"\(cherry picked from commit ([0-9a-f]+)\)", message) if not m: return None return self.repo.get_commit(m.group(1)) diff --git a/llvm/utils/indirect_calls.py b/llvm/utils/indirect_calls.py index 2bdabc8c4d74f1..c96d780d9faa1b 100755 --- a/llvm/utils/indirect_calls.py +++ b/llvm/utils/indirect_calls.py @@ -33,7 +33,7 @@ def look_for_indirect(file): for line in stdout.splitlines(): if line.startswith(" ") == False: function = line - result = re.search("(call|jmp).*\*", line) + result = re.search(r"(call|jmp).*\*", line) if result != None: # TODO: Perhaps use cxxfilt to demangle functions? print(function) diff --git a/llvm/utils/relative_lines.py b/llvm/utils/relative_lines.py index 86b190d5ea1824..48ceaa86b2ce3f 100755 --- a/llvm/utils/relative_lines.py +++ b/llvm/utils/relative_lines.py @@ -14,7 +14,7 @@ line number reference. """ -USAGE = """Example usage: +USAGE = r"""Example usage: find -type f clang/test/CodeCompletion | grep -v /Inputs/ | \\ xargs relative_lines.py --dry-run --verbose --near=100 \\ --pattern='-code-completion-at[ =]%s:(\d+)' \\ diff --git a/llvm/utils/update_test_prefix.py b/llvm/utils/update_test_prefix.py index 434dc84fa4fc03..74cea41dab3816 100755 --- a/llvm/utils/update_test_prefix.py +++ b/llvm/utils/update_test_prefix.py @@ -17,13 +17,13 @@ def remove_prefix(i, d=0): p = r.group(1) s = re.sub("=" + p + ",", "=", s) s = re.sub("," + p + "([, \n])", "\\1", s) - s = re.sub("\s+-?-check-prefix=" + p + "([ \n])", "\\1", s) + s = re.sub(r"\s+-?-check-prefix=" + p + "([ \n])", r"\1", s) else: s = re.sub( - "-?-check-prefixes=([\w-]+)(\Z|[ \t\n])", "--check-prefix=\\1\\2", s + r"-?-check-prefixes=([\w-]+)(\Z|[ \t\n])", r"--check-prefix=\1\2", s ) t = re.search( - "-?-check-(?:prefix|prefixes)=([^ ]+)\s+-?-check-(?:prefix|prefixes)=([^ ]+)", + r"-?-check-(?:prefix|prefixes)=([^ ]+)\s+-?-check-(?:prefix|prefixes)=([^ ]+)", s, ) while t: @@ -31,10 +31,10 @@ def remove_prefix(i, d=0): t.group(), "--check-prefixes=" + t.group(1) + "," + t.group(2), s ) t = re.search( - "-?-check-(?:prefix|prefixes)=([^ ]+)\s+-?-check-(?:prefix|prefixes)=([^ ]+)", + r"-?-check-(?:prefix|prefixes)=([^ ]+)\s+-?-check-(?:prefix|prefixes)=([^ ]+)", s, ) - s = re.sub("\s+-?-check-prefix=CHECK[ \t]*\n", "\n", s) + s = re.sub(r"\s+-?-check-prefix=CHECK[ \t]*\n", "\n", s) f.truncate(0) f.seek(0) f.write(s) diff --git a/mlir/utils/spirv/gen_spirv_dialect.py b/mlir/utils/spirv/gen_spirv_dialect.py index 78c1022428d8a1..6d82c012158196 100755 --- a/mlir/utils/spirv/gen_spirv_dialect.py +++ b/mlir/utils/spirv/gen_spirv_dialect.py @@ -538,7 +538,7 @@ def gen_instr_coverage_report(path, instructions): prefix = "def SPIRV_OC_" existing_opcodes = [ - k[len(prefix) :] for k in re.findall(prefix + "\w+", content[1]) + k[len(prefix) :] for k in re.findall(prefix + r"\w+", content[1]) ] existing_instructions = list( filter(lambda inst: (inst["opname"] in existing_opcodes), instructions) @@ -597,7 +597,7 @@ def update_td_opcodes(path, instructions, filter_list): # Extend opcode list with existing list prefix = "def SPIRV_OC_" existing_opcodes = [ - k[len(prefix) :] for k in re.findall(prefix + "\w+", content[1]) + k[len(prefix) :] for k in re.findall(prefix + r"\w+", content[1]) ] filter_list.extend(existing_opcodes) filter_list = list(set(filter_list)) @@ -644,7 +644,7 @@ def update_td_enum_attrs(path, operand_kinds, filter_list): suffix = "Attr" existing_kinds = [ k[len(prefix) : -len(suffix)] - for k in re.findall(prefix + "\w+" + suffix, content[1]) + for k in re.findall(prefix + r"\w+" + suffix, content[1]) ] filter_list.extend(existing_kinds) @@ -971,7 +971,7 @@ def extract_td_op_info(op_def): suffix = "Op" opname = [ o[len(prefix) : -len(suffix)] - for o in re.findall(prefix + "\w+" + suffix, op_def) + for o in re.findall(prefix + r"\w+" + suffix, op_def) ] assert len(opname) == 1, "more than one ops in the same section!" opname = opname[0] @@ -979,7 +979,7 @@ def extract_td_op_info(op_def): # Get instruction category prefix = "SPIRV_" inst_category = [ - o[len(prefix) :] for o in re.findall(prefix + "\w+Op", op_def.split(":", 1)[1]) + o[len(prefix) :] for o in re.findall(prefix + r"\w+Op", op_def.split(":", 1)[1]) ] assert len(inst_category) <= 1, "more than one ops in the same section!" inst_category = inst_category[0] if len(inst_category) == 1 else "Op" diff --git a/polly/test/update_check.py b/polly/test/update_check.py index 88d95c247c0630..1dd3d3ebf39c09 100644 --- a/polly/test/update_check.py +++ b/polly/test/update_check.py @@ -222,7 +222,7 @@ def classyfier2(lines): line = i.__next__() -replrepl = {"{{": "{{[{][{]}}", "}}": "{{[}][}]}}", "[[": "{{\[\[}}", "]]": "{{\]\]}}"} +replrepl = {"{{": "{{[{][{]}}", "}}": "{{[}][}]}}", "[[": r"{{\[\[}}", "]]": r"{{\]\]}}"} replre = re.compile("|".join(re.escape(k) for k in replrepl.keys())) @@ -452,7 +452,7 @@ def main(): checkre = re.compile( r"^\s*\;\s*(" + "|".join([re.escape(s) for s in checkprefixes]) - + ")(\-NEXT|\-DAG|\-NOT|\-LABEL|\-SAME)?\s*\:" + + r")(\-NEXT|\-DAG|\-NOT|\-LABEL|\-SAME)?\s*\:" ) firstcheckline = None firstnoncommentline = None