blob: bf84530fe2b157b972d0a811802dc4a9c556e078 [file] [log] [blame]
Group: defaults
Subject: r2 - in subversion/trunk: build build/generator build/generator/swig subversion/tests/cmdline subversion/tests/cmdline/legacy subversion/tests/cmdline/svntest tools/dist
Author: dsahlberg
Date: Sat Sep 30 13:13:16 2023
New Revision: 2
Log:
Fix `invalid escape sequence` in Python scripts to prevent many
`SyntaxWarning`s since Python 3.12.
* build/generator/gen_win.py
* build/generator/gen_win_dependencies.py
* build/generator/swig/__init__.py
* build/transform_sql.py
* subversion/tests/cmdline/basic_tests.py
* subversion/tests/cmdline/changelist_tests.py
* subversion/tests/cmdline/checkout_tests.py
* subversion/tests/cmdline/copy_tests.py
* subversion/tests/cmdline/diff_tests.py
* subversion/tests/cmdline/getopt_tests.py
* subversion/tests/cmdline/info_tests.py
* subversion/tests/cmdline/legacy/utf8_tests.py
* subversion/tests/cmdline/lock_tests.py
* subversion/tests/cmdline/log_tests.py
* subversion/tests/cmdline/merge_authz_tests.py
* subversion/tests/cmdline/merge_automatic_tests.py
* subversion/tests/cmdline/merge_tests.py
* subversion/tests/cmdline/merge_tree_conflict_tests.py
* subversion/tests/cmdline/patch_tests.py
* subversion/tests/cmdline/prop_tests.py
* subversion/tests/cmdline/special_tests.py
* subversion/tests/cmdline/stat_tests.py
* subversion/tests/cmdline/svnadmin_tests.py
* subversion/tests/cmdline/svnfsfs_tests.py
* subversion/tests/cmdline/svnmover_tests.py
* subversion/tests/cmdline/svnmucc_tests.py
* subversion/tests/cmdline/svntest/actions.py
* subversion/tests/cmdline/svntest/main.py
* subversion/tests/cmdline/svntest/verify.py
* subversion/tests/cmdline/svntest/wc.py
* subversion/tests/cmdline/trans_tests.py
* subversion/tests/cmdline/update_tests.py
* subversion/tests/cmdline/upgrade_tests.py
* subversion/tests/manual/tree-conflicts-add-vs-add.py
* tools/dist/release.py
Use raw literals or correct escape sequences.
Patch by: jun66j5
Review by: futatuki
Discussed: https://lists.apache.org/thread/m5s9zpj2jvsmtof07c0vvpjlwnwpdwsl
Modified:
subversion/trunk/build/generator/gen_win.py
subversion/trunk/build/generator/gen_win_dependencies.py
subversion/trunk/build/generator/swig/__init__.py
subversion/trunk/build/transform_sql.py
subversion/trunk/subversion/tests/cmdline/basic_tests.py
subversion/trunk/subversion/tests/cmdline/changelist_tests.py
subversion/trunk/subversion/tests/cmdline/checkout_tests.py
subversion/trunk/subversion/tests/cmdline/copy_tests.py
subversion/trunk/subversion/tests/cmdline/diff_tests.py
subversion/trunk/subversion/tests/cmdline/getopt_tests.py
subversion/trunk/subversion/tests/cmdline/info_tests.py
subversion/trunk/subversion/tests/cmdline/legacy/utf8_tests.py
subversion/trunk/subversion/tests/cmdline/lock_tests.py
subversion/trunk/subversion/tests/cmdline/log_tests.py
subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py
subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py
subversion/trunk/subversion/tests/cmdline/merge_tests.py
subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py
subversion/trunk/subversion/tests/cmdline/patch_tests.py
subversion/trunk/subversion/tests/cmdline/prop_tests.py
subversion/trunk/subversion/tests/cmdline/special_tests.py
subversion/trunk/subversion/tests/cmdline/stat_tests.py
subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
subversion/trunk/subversion/tests/cmdline/svnfsfs_tests.py
subversion/trunk/subversion/tests/cmdline/svnmover_tests.py
subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py
subversion/trunk/subversion/tests/cmdline/svntest/actions.py
subversion/trunk/subversion/tests/cmdline/svntest/main.py
subversion/trunk/subversion/tests/cmdline/svntest/verify.py
subversion/trunk/subversion/tests/cmdline/svntest/wc.py
subversion/trunk/subversion/tests/cmdline/trans_tests.py
subversion/trunk/subversion/tests/cmdline/update_tests.py
subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
subversion/trunk/tools/dist/release.py
Modified: subversion/trunk/build/generator/gen_win.py
==============================================================================
--- subversion/trunk/build/generator/gen_win.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/build/generator/gen_win.py Sat Sep 30 13:13:16 2023 (r2)
@@ -574,7 +574,7 @@
# This section parses those dependencies and adds them to the dependency list
# for this target.
if name.startswith('javahl') or name == 'libsvnjavahl':
- for dep in re.findall('\$\(([^\)]*)_DEPS\)', target.add_deps):
+ for dep in re.findall(r'\$\(([^\)]*)_DEPS\)', target.add_deps):
dep = dep.replace('_', '-')
depends.extend(self.sections[dep].get_targets())
@@ -728,7 +728,7 @@
for dep in self.get_win_depends(target, FILTER_EXTERNALLIBS):
if dep.external_lib:
- for elib in re.findall('\$\(SVN_([^\)]*)_LIBS\)', dep.external_lib):
+ for elib in re.findall(r'\$\(SVN_([^)]*)_LIBS\)', dep.external_lib):
external_lib = elib.lower()
if external_lib in self._libraries:
@@ -758,7 +758,7 @@
for dep in self.get_win_depends(target, FILTER_EXTERNALLIBS):
if dep.external_lib:
- for elib in re.findall('\$\(SVN_([^\)]*)_LIBS\)', dep.external_lib):
+ for elib in re.findall(r'\$\(SVN_([^)]*)_LIBS\)', dep.external_lib):
external_lib = elib.lower()
if external_lib in self._libraries:
@@ -833,7 +833,7 @@
for dep in self.get_win_depends(target, FILTER_LIBS):
if dep.external_lib:
- for elib in re.findall('\$\(SVN_([^\)]*)_LIBS\)', dep.external_lib):
+ for elib in re.findall(r'\$\(SVN_([^)]*)_LIBS\)', dep.external_lib):
external_lib = elib.lower()
if external_lib not in self._libraries:
@@ -887,7 +887,7 @@
nondeplibs.extend(dep.msvc_libs)
if dep.external_lib:
- for elib in re.findall('\$\(SVN_([^\)]*)_LIBS\)', dep.external_lib):
+ for elib in re.findall(r'\$\(SVN_([^)]*)_LIBS\)', dep.external_lib):
external_lib = elib.lower()
@@ -938,7 +938,7 @@
for dep in self.get_win_depends(target, FILTER_EXTERNALLIBS):
if dep.external_lib:
- for elib in re.findall('\$\(SVN_([^\)]*)_LIBS\)', dep.external_lib):
+ for elib in re.findall(r'\$\(SVN_([^)]*)_LIBS\)', dep.external_lib):
external_lib = elib.lower()
if external_lib in self._libraries:
Modified: subversion/trunk/build/generator/gen_win_dependencies.py
==============================================================================
--- subversion/trunk/build/generator/gen_win_dependencies.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/build/generator/gen_win_dependencies.py Sat Sep 30 13:13:16 2023 (r2)
@@ -235,22 +235,22 @@
elif opt == '-D':
self.cpp_defines.append(val)
elif opt == '--vsnet-version':
- if val == '2002' or re.match('^7(\.\d+)?$', val):
+ if val == '2002' or re.match(r'^7(\.\d+)?$', val):
self.vs_version = '2002'
self.sln_version = '7.00'
self.vcproj_version = '7.00'
self.vcproj_extension = '.vcproj'
- elif val == '2003' or re.match('^8(\.\d+)?$', val):
+ elif val == '2003' or re.match(r'^8(\.\d+)?$', val):
self.vs_version = '2003'
self.sln_version = '8.00'
self.vcproj_version = '7.10'
self.vcproj_extension = '.vcproj'
- elif val == '2005' or re.match('^9(\.\d+)?$', val):
+ elif val == '2005' or re.match(r'^9(\.\d+)?$', val):
self.vs_version = '2005'
self.sln_version = '9.00'
self.vcproj_version = '8.00'
self.vcproj_extension = '.vcproj'
- elif val == '2008' or re.match('^10(\.\d+)?$', val):
+ elif val == '2008' or re.match(r'^10(\.\d+)?$', val):
self.vs_version = '2008'
self.sln_version = '10.00'
self.vcproj_version = '9.00'
@@ -290,14 +290,14 @@
self.sln_version = '12.00'
self.vcproj_version = '14.3'
self.vcproj_extension = '.vcxproj'
- elif re.match('^20\d+$', val):
+ elif re.match(r'^20\d+$', val):
print('WARNING: Unknown VS.NET version "%s",'
' assuming VS2012. Your VS can probably upgrade')
self.vs_version = '2012'
self.sln_version = '12.00'
self.vcproj_version = '11.0'
self.vcproj_extension = '.vcxproj'
- elif re.match('^1\d+$', val):
+ elif re.match(r'^1\d+$', val):
self.vs_version = val
self.sln_version = '12.00'
self.vcproj_version = val + '.0'
Modified: subversion/trunk/build/generator/swig/__init__.py
==============================================================================
--- subversion/trunk/build/generator/swig/__init__.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/build/generator/swig/__init__.py Sat Sep 30 13:13:16 2023 (r2)
@@ -72,7 +72,7 @@
if not self._swigVersion:
swig_version = subprocess.check_output([self.swig_path, "-version"]).decode('utf8')
- m = re.search("Version (\d+).(\d+).(\d+)", swig_version)
+ m = re.search(r"Version (\d+).(\d+).(\d+)", swig_version)
if m:
self._swigVersion = tuple(map(int, m.groups()))
else:
Modified: subversion/trunk/build/transform_sql.py
==============================================================================
--- subversion/trunk/build/transform_sql.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/build/transform_sql.py Sat Sep 30 13:13:16 2023 (r2)
@@ -50,7 +50,7 @@
# a few SQL comments that act as directives for this transform system
re_format = re.compile('-- *format: *([0-9]+)')
- re_statement = re.compile('-- *STMT_([A-Z_0-9]+)( +\(([^\)]*)\))?')
+ re_statement = re.compile(r'-- *STMT_([A-Z_0-9]+)( +\(([^)]*)\))?')
re_include = re.compile('-- *include: *([-a-z]+)')
re_define = re.compile('-- *define: *([A-Z_0-9]+)')
Modified: subversion/trunk/subversion/tests/cmdline/basic_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/basic_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/basic_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -705,8 +705,8 @@
# "Extra" files that we expect to result from the conflicts.
# These are expressed as list of regexps. What a cool system! :-)
- extra_files = ['mu.*\.r1', 'mu.*\.r2', 'mu.*\.mine',
- 'rho.*\.r1', 'rho.*\.r2', 'rho.*\.mine',]
+ extra_files = [r'mu.*\.r1', r'mu.*\.r2', r'mu.*\.mine',
+ r'rho.*\.r1', r'rho.*\.r2', r'rho.*\.mine',]
# Do the update and check the results in three ways.
# All "extra" files are passed to detect_conflict_files().
@@ -2267,11 +2267,11 @@
# "Extra" files that we expect to result from the conflicts.
# These are expressed as list of regexps. What a cool system! :-)
- extra_files = ['mu.*\.r1', 'mu.*\.r2', 'mu.*\.mine',
- 'lambda.*\.r1', 'lambda.*\.r2', 'lambda.*\.mine',
- 'omega.*\.r1', 'omega.*\.r2', 'omega.*\.mine',
- 'rho.*\.r1', 'rho.*\.r2', 'rho.*\.mine',
- 'tau.*\.r1', 'tau.*\.r2', 'tau.*\.mine',
+ extra_files = [r'mu.*\.r1', r'mu.*\.r2', r'mu.*\.mine',
+ r'lambda.*\.r1', r'lambda.*\.r2', r'lambda.*\.mine',
+ r'omega.*\.r1', r'omega.*\.r2', r'omega.*\.mine',
+ r'rho.*\.r1', r'rho.*\.r2', r'rho.*\.mine',
+ r'tau.*\.r1', r'tau.*\.r2', r'tau.*\.mine',
]
# Do the update and check the results in three ways.
@@ -2347,7 +2347,7 @@
""]))
# Set the expected extra files for the test
- extra_files = ['omega.*\.r1', 'omega.*\.r2', 'omega.*\.mine',]
+ extra_files = [r'omega.*\.r1', r'omega.*\.r2', r'omega.*\.mine',]
# Set the expected status for the test
expected_status = svntest.actions.get_virginal_state(wc_backup, 2)
Modified: subversion/trunk/subversion/tests/cmdline/changelist_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/changelist_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/changelist_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -130,9 +130,9 @@
# Regular expressions for 'svn changelist' output.
-_re_cl_rem_pattern = "^D \[(.*)\] (.*)"
-_re_cl_skip = re.compile("Skipped '(.*)'")
-_re_cl_add = re.compile("^A \[(.*)\] (.*)")
+_re_cl_rem_pattern = r"^D \[(.*)\] (.*)"
+_re_cl_skip = re.compile(r"Skipped '(.*)'")
+_re_cl_add = re.compile(r"^A \[(.*)\] (.*)")
_re_cl_rem = re.compile(_re_cl_rem_pattern)
def verify_changelist_output(output, expected_adds=None,
Modified: subversion/trunk/subversion/tests/cmdline/checkout_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/checkout_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/checkout_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -882,8 +882,8 @@
})
# "Extra" files that we expect to result from the conflicts.
- extra_files = ['eta\.r0', 'eta\.r2', 'eta\.mine',
- 'kappa\.r0', 'kappa\.r2', 'kappa\.mine']
+ extra_files = [r'eta\.r0', r'eta\.r2', r'eta\.mine',
+ r'kappa\.r0', r'kappa\.r2', r'kappa\.mine']
# Perform the checkout and check the results in three ways.
# We use --force here because run_and_verify_checkout() will delete
Modified: subversion/trunk/subversion/tests/cmdline/copy_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/copy_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/copy_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1419,7 +1419,7 @@
if re.match(b'[^\\r]\\n', raw_contents):
raise svntest.Failure
- if not re.match(b'.*\$LastChangedRevision:\s*\d+\s*\$', line_contents[3]):
+ if not re.match(b'.*\\$LastChangedRevision:\\s*\\d+\\s*\\$', line_contents[3]):
raise svntest.Failure
#-------------------------------------------------------------
Modified: subversion/trunk/subversion/tests/cmdline/diff_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/diff_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/diff_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -833,7 +833,7 @@
' This is the file \'mu\'.\n',
'+\n',
'+Actually, it\'s a new mu.\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
svntest.actions.run_and_verify_svn(expected_output, [],
@@ -1024,7 +1024,7 @@
None, [], 'diff', '-r', 'BASE:2', wc_dir)
# to do the comparison, remove all output lines starting with +++ or ---
- re_infoline = re.compile('^(\+\+\+|---).*$')
+ re_infoline = re.compile(r'^(\+\+\+|---).*$')
list1 = []
list2 = []
@@ -4256,7 +4256,7 @@
'+++ %s\t(working copy)\n' % sbox.path('A/B/E'),
'@@ -0,0 +1 @@\n',
'+text\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
svntest.actions.run_and_verify_svn(expected_output, [],
@@ -4464,7 +4464,7 @@
'Added: K\n',
'## -0,0 +1 ##\n',
'+V\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
'Index: %s\n' % (sbox.path('iota'),),
'===================================================================\n',
'--- %s\t(revision 1)\n' % (sbox.path('iota'),),
@@ -4475,7 +4475,7 @@
'Added: K\n',
'## -0,0 +1 ##\n',
'+V\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
svntest.actions.run_and_verify_svn(expected_output, [], 'diff', wc_dir)
@@ -4639,7 +4639,7 @@
'Deleted: svn:mime-type\n',
'## -1 +0,0 ##\n',
'-text/plain\n',
- '\ No newline at end of property\n']
+ '\\ No newline at end of property\n']
svntest.actions.run_and_verify_svn(expected_output, [], 'diff',
'-r2:1', newfile)
@@ -4661,7 +4661,7 @@
'@@ -1 +1,2 @@\n',
' This is the file \'mu\'.\n',
'+Mu????\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
svntest.actions.run_and_verify_svn(expected_output, [],
'diff', '-r', '1', sbox.ospath('iota'))
@@ -4676,7 +4676,7 @@
'-This is the file \'iota\'.\n',
'+This is the file \'mu\'.\n',
'+Mu????\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
svntest.actions.run_and_verify_svn(expected_output, [],
'diff', '-r', '1', sbox.ospath(''))
@@ -4709,7 +4709,7 @@
'Deleted: A\n',
'## -1 +0,0 ##\n',
'-B\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
svntest.actions.run_and_verify_svn(expected_output, [],
@@ -4726,7 +4726,7 @@
'Deleted: A\n',
'## -1 +0,0 ##\n',
'-B\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
svntest.actions.run_and_verify_svn(expected_output, [],
@@ -4823,7 +4823,7 @@
'Added: p2\n',
'## -0,0 +1 ##\n',
'+v2\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
svntest.actions.run_and_verify_svn(expected_output_C2, [],
@@ -5036,14 +5036,14 @@
'+++ %s\t(working copy)\n' % sbox.path('to-iota'),
'@@ -0,0 +1 @@\n',
'+link iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'\n',
'Property changes on: %s\n' % sbox.path('to-iota'),
'___________________________________________________________________\n',
'Added: svn:special\n',
'## -0,0 +1 ##\n',
'+*\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
], [], 'diff', wc_dir)
svntest.actions.run_and_verify_svn([
@@ -5055,14 +5055,14 @@
'+++ b/to-iota\t(working copy)\n',
'@@ -0,0 +1 @@\n',
'+iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'\n',
'Property changes on: to-iota\n',
'___________________________________________________________________\n',
'Added: svn:special\n',
'## -0,0 +1 ##\n',
'+*\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
], [], 'diff', wc_dir, '--git')
sbox.simple_commit()
@@ -5076,9 +5076,9 @@
'+++ %s\t(working copy)\n' % sbox.path('to-iota'),
'@@ -1 +1 @@\n',
'-link iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'+link A/B/E/alpha\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
], [], 'diff', wc_dir)
svntest.actions.run_and_verify_svn([
@@ -5090,9 +5090,9 @@
'+++ b/to-iota\t(working copy)\n',
'@@ -1 +1 @@\n',
'-iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'+A/B/E/alpha\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
], [], 'diff', wc_dir, '--git')
Modified: subversion/trunk/subversion/tests/cmdline/getopt_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/getopt_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/getopt_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -94,7 +94,7 @@
'version X.Y.Z '),
# The copyright end date keeps changing; fix forever.
(re.compile(r'Copyright \(C\) 20\d\d The Apache '
- 'Software Foundation\.'),
+ r'Software Foundation\.'),
'Copyright (C) YYYY The Apache Software Foundation'),
# In 'svn --version --quiet', we print only the version
# number in a single line.
@@ -120,7 +120,7 @@
# seen switch_res_line.
switched_rep_lines_res = [
# We don't care about the actual canonical host
- (re.compile('^\* running on.*$'), '* running on'),
+ (re.compile(r'^\* running on.*$'), '* running on'),
]
def process_lines(lines):
Modified: subversion/trunk/subversion/tests/cmdline/info_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/info_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/info_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -96,7 +96,7 @@
atttribute_re = re.compile(
r"\s+(?P<key>[\w-]+)\s*=\s*(['\"])(?P<val>[^'\"]*)\2", re.M)
self_closing_re = re.compile(r"\s*/>", re.M)
- content_re_str = "\\s*>(?P<content>.*?)</%s\s*>"
+ content_re_str = r"\s*>(?P<content>.*?)</%s\s*>"
m = start_tag_re.match(str)
if not m:
@@ -402,7 +402,7 @@
'Path' : re.escape(os.path.basename(sbox.repo_dir)),
'Repository Root' : re.escape(sbox.repo_url),
'URL' : re.escape(sbox.repo_url),
- 'Relative URL' : '\^/', # escape ^ -- this isn't a regexp
+ 'Relative URL' : r'\^/', # escape ^ -- this isn't a regexp
'Revision' : '1',
'Node Kind' : 'directory',
'Last Changed Rev' : '1',
@@ -412,7 +412,7 @@
'Name' : 'iota',
'Repository Root' : re.escape(sbox.repo_url),
'URL' : re.escape(sbox.repo_url + '/iota'),
- 'Relative URL' : '\^/iota', # escape ^ -- this isn't a regexp
+ 'Relative URL' : r'\^/iota', # escape ^ -- this isn't a regexp
'Revision' : '1',
'Node Kind' : 'file',
'Last Changed Rev' : '1',
Modified: subversion/trunk/subversion/tests/cmdline/legacy/utf8_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/legacy/utf8_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/legacy/utf8_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -143,7 +143,7 @@
# Also check that the environment contains the expected locale settings
# either by default, or because we set them above.
if localematch:
- localeregex = re.compile('^en_US\.ISO-?8859-1$', re.I)
+ localeregex = re.compile(r'^en_US\.ISO-?8859-1$', re.I)
for env in [ 'LC_ALL', 'LC_CTYPE', 'LANG' ]:
env_value = os.getenv(env)
if env_value:
Modified: subversion/trunk/subversion/tests/cmdline/lock_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/lock_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/lock_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -91,8 +91,8 @@
'-m', '', file_path)
# --- Meanwhile, in our other working copy... ---
- err_re = "(svn\: E195022\: File '.*iota' is locked in another)|" + \
- "(svn\: E160039: User '?jconstant'? does not own lock on path.*iota')"
+ err_re = r"(svn\: E195022\: File '.*iota' is locked in another)|" + \
+ r"(svn\: E160039: User '?jconstant'? does not own lock on path.*iota')"
svntest.main.run_svn(None, 'update', wc_b)
# -- Try to change a file --
@@ -112,8 +112,8 @@
# change the locked file's properties
svntest.main.run_svn(None, 'propset', 'sneakyuser', 'Sally', file_path_b)
- err_re = "(svn\: E195022\: File '.*iota' is locked in another)|" + \
- "(svn\: E160039\: User '?jconstant'? does not own lock on path)"
+ err_re = r"(svn\: E195022\: File '.*iota' is locked in another)|" + \
+ r"(svn\: E160039\: User '?jconstant'? does not own lock on path)"
# attempt (and fail) to commit as user Sally
svntest.actions.run_and_verify_commit(wc_b, None, None, err_re,
@@ -1275,8 +1275,8 @@
[], "lock", fname)
# Make sure ls shows it being locked.
- expected_output = " +2 " + re.escape(svntest.main.wc_author) + " +O .+f|" \
- " +2 " + re.escape(svntest.main.wc_author) + " .+\./"
+ expected_output = r" +2 %(author)s +O .+f| +2 %(author)s .+\./" % \
+ {'author': re.escape(svntest.main.wc_author)}
svntest.actions.run_and_verify_svn(expected_output, [],
"list", "-v", dirname)
Modified: subversion/trunk/subversion/tests/cmdline/log_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/log_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/log_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -471,8 +471,7 @@
# Regular expression to match the header line of a log message, with
# these groups: (revision number), (author), (date), (num lines).
- header_re = re.compile('^r([0-9]+) \| ' \
- + '([^|]*) \| ([^|]*) \| ([0-9]+) lines?')
+ header_re = re.compile(r'^r([0-9]+) \| ([^|]*) \| ([^|]*) \| ([0-9]+) lines?')
# The log chain to return.
chain = []
@@ -984,10 +983,10 @@
# Verify the output contains either the expected fuzzy escape
# sequence, or the literal control char.
- match_unescaped_ctrl_re = "This msg contains a Ctrl-T \(.\) " \
- "and a Ctrl-I \(\t\)\."
- match_escaped_ctrl_re = "^This msg contains a Ctrl-T \(\?\\\\020\) " \
- "and a Ctrl-I \(\t\)\."
+ match_unescaped_ctrl_re = r"This msg contains a Ctrl-T \(.\) " \
+ r"and a Ctrl-I \(\t\)\."
+ match_escaped_ctrl_re = r"^This msg contains a Ctrl-T \(\?\\020\) " \
+ r"and a Ctrl-I \(\t\)\."
matched = None
for line in output:
if re.match(match_unescaped_ctrl_re, line) \
@@ -1490,8 +1489,8 @@
# Can't set revprops with log.
svntest.actions.run_and_verify_log_xml(
- expected_stderr=(".*cannot assign with 'with-revprop' option"
- " \(drop the '='\)"),
+ expected_stderr=(r".*cannot assign with 'with-revprop' option"
+ r" \(drop the '='\)"),
args=['--with-revprop=foo=bar'])
# basic test without revprop options
@@ -2670,8 +2669,8 @@
'-r2')
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r3\ .*\n',
+ r'-+\n',
+ r'r3 .*\n',
re.escape('Changed paths:\n'),
re.escape(' D /A/B/E\n'),
re.escape(' A /E (from /A/B/E:2)\n'), # Patched - Direct move
@@ -2680,7 +2679,7 @@
re.escape(' D /iota\n'),
re.escape(' A /iotb (from /iota:2)\n'), # Patched - Direct move
re.escape(' A /mutb (from /A/mu:1)\n'), # Copy (always r1)
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox.wc_dir,
Modified: subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -773,7 +773,7 @@
'Added: k\n',
'## -0,0 +1 ##\n',
'+v\n',
- '\ No newline at end of property\n'
+ '\\ No newline at end of property\n'
]
svntest.actions.run_and_verify_svn(expected_output, [],
'diff', sbox.repo_url + '/A', '-c', '2')
@@ -830,9 +830,9 @@
'Modified: this-is\n',
'## -1 +1 ##\n',
'-E\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
'+G\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
else:
# ### We should also see a property deletion here!
@@ -847,7 +847,7 @@
'Deleted: this-is\n',
'## -1 +0,0 ##\n',
'-E\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
'Index: .\n',
'===================================================================\n',
'--- .\t(nonexistent)\n',
@@ -858,7 +858,7 @@
'Added: this-is\n',
'## -0,0 +1 ##\n',
'+G\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
# Use two url diff, because 'svn diff url -c' uses copyfrom to diff against
Modified: subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1361,9 +1361,9 @@
# Let commit fix the eols
sbox.simple_add_text('with\rCRLF\rhere!', 'A/crlf')
- sbox.simple_add_text('with\rnative\r\eol', 'A/native')
- sbox.simple_add_text('with\rCR\r\eol', 'A/cr')
- sbox.simple_add_text('with\rLF\r\eol', 'A/lf')
+ sbox.simple_add_text('with\rnative\r\\eol', 'A/native')
+ sbox.simple_add_text('with\rCR\r\\eol', 'A/cr')
+ sbox.simple_add_text('with\rLF\r\\eol', 'A/lf')
# And apply the magic property
sbox.simple_propset('svn:eol-style', 'CRLF', 'A/crlf')
Modified: subversion/trunk/subversion/tests/cmdline/merge_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/merge_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -247,9 +247,9 @@
expected_skip = wc.State('', { })
- tau_conflict_support_files = ["tau\.working",
- "tau\.merge-right\.r3",
- "tau\.merge-left\.r1"]
+ tau_conflict_support_files = [r"tau\.working",
+ r"tau\.merge-right\.r3",
+ r"tau\.merge-left\.r1"]
svntest.actions.run_and_verify_merge(other_wc, '1', '3',
sbox.repo_url, None,
@@ -2629,7 +2629,7 @@
expected_skip = wc.State('', { })
# should have 3 'prej' files left behind, describing prop conflicts:
- extra_files = ['alpha.*\.prej', 'beta.*\.prej', 'dir_conflicts.*\.prej']
+ extra_files = [r'alpha.*\.prej', r'beta.*\.prej', r'dir_conflicts.*\.prej']
svntest.actions.run_and_verify_merge(B2_path, '3', '4', B_url, None,
expected_output,
@@ -2752,7 +2752,7 @@
expected_skip = wc.State('', { })
# should have 2 'prej' files left behind, describing prop conflicts:
- extra_files = ['alpha.*\.prej', 'dir_conflicts.*\.prej']
+ extra_files = [r'alpha.*\.prej', r'dir_conflicts.*\.prej']
svntest.actions.run_and_verify_merge(B2_path, '3', '4', B_url, None,
expected_output,
@@ -2952,9 +2952,9 @@
expected_skip,
expected_error,
extra_files=
- ["mu\.working",
- "mu\.merge-right\.r4",
- "mu\.merge-left\.r3"])
+ [r"mu\.working",
+ r"mu\.merge-right\.r4",
+ r"mu\.merge-left\.r3"])
#----------------------------------------------------------------------
# Test for issue 2135
@@ -14517,9 +14517,9 @@
"=======\n"
"New content>>>>>>> .merge-right.r3\n")
expected_status.tweak('D/H/psi', status='C ')
- psi_conflict_support_files = ["psi\.working",
- "psi\.merge-right\.r3",
- "psi\.merge-left\.r2"]
+ psi_conflict_support_files = [r"psi\.working",
+ r"psi\.merge-right\.r3",
+ r"psi\.merge-left\.r2"]
svntest.actions.run_and_verify_merge(A_COPY_path, '2', '3',
sbox.repo_url + '/A', None,
expected_output,
@@ -17301,7 +17301,7 @@
# r4
svntest.main.file_write(sbox.ospath('dir/binary-file'),
- '\9\8\7\6\5\4\3\2\1')
+ '\x09\x08\7\6\5\4\3\2\1')
sbox.simple_commit()
sbox.simple_update()
Modified: subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1856,9 +1856,9 @@
actions.run_and_verify_status(wc_dir, expected_status)
# Check the tree conflict types:
- expected_stdout = '(R.*)|(Summary of conflicts.*)|( Tree conflicts.*)' \
- '|(.*local delete, incoming replace upon merge.*)' \
- '|( \>.*)'
+ expected_stdout = r'(R.*)|(Summary of conflicts.*)|( Tree conflicts.*)' \
+ r'|(.*local delete, incoming replace upon merge.*)' \
+ r'|( \>.*)'
tree_conflicted_path = [A_B_E, A_mu, A_D_G_pi, A_D_H]
for path in tree_conflicted_path:
actions.run_and_verify_svn2(expected_stdout, [], 0, 'st',
Modified: subversion/trunk/subversion/tests/cmdline/patch_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/patch_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/patch_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -3433,7 +3433,7 @@
value = "v\n"
else:
value = "v"
- unidiff_patch += ['\ No newline at end of property\n']
+ unidiff_patch += ['\\ No newline at end of property\n']
svntest.main.file_write(patch_file_path, ''.join(unidiff_patch), 'wb')
@@ -5807,7 +5807,7 @@
'Added: svn:mime-type\n',
'## -0,0 +1 ##\n',
'+application/binary\n',
- '\ No newline at end of property\n',
+ '\\ No newline at end of property\n',
]
_, diff_output, _ = svntest.actions.run_and_verify_svn(expected_output, [],
@@ -6005,7 +6005,7 @@
'@@ -1 +1 @@\n',
'-This is the file \'mu\'.\n',
'+This is the file \'mu\'.\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'Index: iota\n',
'===================================================================\n',
'--- iota\t(revision 1)\n',
@@ -6013,7 +6013,7 @@
'@@ -1 +1 @@\n',
'-This is the file \'iota\'.\n',
'+This is the file \'iota\'.\n',
- '\ No newline at end of file' # Missing EOL
+ '\\ No newline at end of file' # Missing EOL
]
patch = sbox.get_tempname('patch')
@@ -6073,7 +6073,7 @@
'+++ A/mu\t(working copy)\n',
'@@ -1 +1 @@\n',
'-This is the file \'mu\'.\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'+This is the file \'mu\'.\n',
'Index: iota\n',
'===================================================================\n',
@@ -6081,7 +6081,7 @@
'+++ iota\t(working copy)\n',
'@@ -1 +1 @@\n',
'-This is the file \'iota\'.\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'+This is the file \'iota\'.' # Missing eol
]
@@ -6746,9 +6746,9 @@
sbox.build()
wc_dir = sbox.wc_dir
- eicar_data = 'X5O!P%@AP[4\PZX54(P^)7CC)7}$' \
+ eicar_data = 'X5O!P%@AP[4\\PZX54(P^)7CC)7}$' \
'EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\0'
- other_data = 'X5O!P%@AP[4\PZX54(P^)7CC)7}$' \
+ other_data = 'X5O!P%@AP[4\\PZX54(P^)7CC)7}$' \
'SOME-LESS-INTERESTING-OTHER-TEXT!!!$H+H*\0' \
'\0\0\0\0\0\0\0\0'
@@ -6912,7 +6912,7 @@
'+++ b/link-to-iota\n',
'@@ -0,0 +1 @@\n',
'+iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
patch_edit = [
@@ -6922,9 +6922,9 @@
'+++ b/link-to-iota\n',
'@@ -1 +1 @@\n',
'-iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'+A/mu\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
patch_to_file = [
@@ -6935,7 +6935,7 @@
'+++ /dev/null\n',
'@@ -1 +0,0 @@\n',
'-A/mu\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'diff --git a/link-to-iota b/link-to-iota\n',
'new file mode 100644\n',
'index 0000000..1b130bf\n',
@@ -7039,7 +7039,7 @@
'+++ b/link-to-iota\n',
'@@ -0,0 +1 @@\n',
'+iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
patch_edit = [
@@ -7049,9 +7049,9 @@
'+++ b/link-to-iota\n',
'@@ -1 +1 @@\n',
'-iota\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'+A/mu\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
]
patch_to_file = [
@@ -7062,7 +7062,7 @@
'+++ /dev/null\n',
'@@ -1 +0,0 @@\n',
'-A/mu\n',
- '\ No newline at end of file\n',
+ '\\ No newline at end of file\n',
'diff --git a/link-to-iota b/link-to-iota\n',
'new file mode 100644\n',
'index 0000000..1b130bf\n',
@@ -7709,7 +7709,7 @@
' J\n'
' K\n'
' L\n'
- '\ No newline at end of file', mode='wb')
+ '\\ No newline at end of file', mode='wb')
expected_skip = wc.State('', { })
expected_output = wc.State(wc_dir, {
@@ -7735,7 +7735,7 @@
' J\n'
' K\n'
' L\n'
- '\ No newline at end of file', mode='wb')
+ '\\ No newline at end of file', mode='wb')
svntest.actions.run_and_verify_patch(wc_dir, local_patch,
expected_output, None,
@@ -7871,7 +7871,7 @@
value = "v\n"
else:
value = "v"
- unidiff_patch += ['\ No newline at end of property\n']
+ unidiff_patch += ['\\ No newline at end of property\n']
patch_file_path = sbox.get_tempname('my.patch')
svntest.main.file_write(patch_file_path, ''.join(unidiff_patch), 'wb')
Modified: subversion/trunk/subversion/tests/cmdline/prop_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/prop_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/prop_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -349,7 +349,7 @@
expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
expected_status.tweak('A/mu', 'A', status=' C')
- extra_files = ['mu.*\.prej', 'dir_conflicts.*\.prej']
+ extra_files = [r'mu.*\.prej', r'dir_conflicts.*\.prej']
# Do the update and check the results in three ways... INCLUDING PROPS
svntest.actions.run_and_verify_update(wc_dir,
expected_output,
Modified: subversion/trunk/subversion/tests/cmdline/special_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/special_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/special_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -71,7 +71,7 @@
exit_code, stdout_lines, stderr_lines = svntest.main.run_svn(1, 'diff',
wc_dir)
- regex = '^\+link linktarget'
+ regex = r'^\+link linktarget'
for line in stdout_lines:
if re.match(regex, line):
break
Modified: subversion/trunk/subversion/tests/cmdline/stat_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/stat_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/stat_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -559,7 +559,7 @@
for line in out:
# The "/?" is just to allow for an optional trailing slash.
- if re.match("\\s+\\*.*\.other/?$", line):
+ if re.match(r"\s+\*.*\.other/?$", line):
raise svntest.Failure
@Issue(1289)
Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1790,7 +1790,7 @@
"Owner: jrandom",
"Created:.*",
"Expires:.*",
- "Comment \(1 line\):",
+ r"Comment \(1 line\):",
"Locking files",
"\n", # empty line
]
@@ -3514,8 +3514,8 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r1\ .*\n',
+ r'-+\n',
+ r'r1 .*\n',
# '/A/D/H' and '/A/B/E' is not added.
re.escape('Changed paths:\n'),
re.escape(' A /A\n'),
@@ -3531,7 +3531,7 @@
re.escape(' A /A/D/gamma\n'),
re.escape(' A /A/mu\n'),
re.escape(' A /iota\n'),
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
@@ -3567,18 +3567,18 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r2\ .*\n',
+ r'-+\n',
+ r'r2 .*\n',
re.escape('Changed paths:\n'),
# Simple add, not copy.
re.escape(' A /branches/branch1\n'),
- '-+\\n',
- 'r1\ .*\n',
+ r'-+\n',
+ r'r1 .*\n',
# '/trunk' is not added.
re.escape('Changed paths:\n'),
re.escape(' A /branches\n'),
re.escape(' A /tags\n'),
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
@@ -3612,13 +3612,13 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r1\ .*\n',
+ r'-+\n',
+ r'r1 .*\n',
# '/B' is not added.
re.escape('Changed paths:\n'),
re.escape(' A /A\n'),
re.escape(' A /C\n'),
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
@@ -3654,17 +3654,17 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r2\ .*\n',
+ r'-+\n',
+ r'r2 .*\n',
re.escape('Changed paths:\n'),
# Simple add, not copy.
re.escape(' A /branches/branch1\n'),
- '-+\\n',
- 'r1\ .*\n',
+ r'-+\n',
+ r'r1 .*\n',
# Only '/branches' is added in r1.
re.escape('Changed paths:\n'),
re.escape(' A /branches\n'),
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
@@ -3696,12 +3696,12 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r1\ .*\n',
+ r'-+\n',
+ r'r1 .*\n',
re.escape('Changed paths:\n'),
# Only '/bbc' is added in r1.
re.escape(' A /bbc\n'),
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
@@ -3733,14 +3733,14 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r1\ .*\n',
+ r'-+\n',
+ r'r1 .*\n',
# '/bbc' is not added.
re.escape('Changed paths:\n'),
re.escape(' A /aaa\n'),
re.escape(' A /aab\n'),
re.escape(' A /aac\n'),
- '-+\\n'
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
@@ -3785,27 +3785,27 @@
# Check log. Revision properties ('svn:log' etc.) should be empty for r2.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r3 | jrandom | .* | 1 line\\n',
+ r'-+\n',
+ r'r3 \| jrandom \| .* \| 1 line\n',
re.escape('Changed paths:'),
re.escape(' A /r3a'),
re.escape(' A /r3b'),
re.escape(' A /r3c'),
'',
re.escape('Revision 3.'),
- '-+\\n',
+ r'-+\n',
re.escape('r2 | (no author) | (no date) | 1 line'),
'',
'',
- '-+\\n',
- 'r1 | jrandom | .* | 1 line\\n',
+ r'-+\n',
+ r'r1 | jrandom | .* | 1 line\n',
re.escape('Changed paths:'),
re.escape(' A /r1a'),
re.escape(' A /r1b'),
re.escape(' A /r1c'),
'',
re.escape('Revision 1.'),
- '-+\\n',
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', sbox2.repo_url)
@@ -3947,8 +3947,8 @@
# Check log.
expected_output = svntest.verify.RegexListOutput([
- '-+\\n',
- 'r2\ .*\n',
+ r'-+\n',
+ r'r2 .*\n',
# Only '/COPY' is added
re.escape('Changed paths:\n'),
re.escape(' A /COPY'),
@@ -3961,9 +3961,9 @@
re.escape(' A /COPY/H/omega'),
re.escape(' A /COPY/H/psi'),
re.escape(' A /COPY/gamma'),
- '-+\\n',
- 'r1\ .*\n',
- '-+\\n'
+ r'-+\n',
+ r'r1 .*\n',
+ r'-+\n',
])
svntest.actions.run_and_verify_svn(expected_output, [],
'log', '-v', '-q', sbox2.repo_url)
Modified: subversion/trunk/subversion/tests/cmdline/svnfsfs_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnfsfs_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svnfsfs_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -167,38 +167,38 @@
'Histogram of directory property sizes:',
'Histogram of directory property representation sizes:']
patterns_to_find = {
- 'Reading revisions' : ['\s+ 0[ 0-9]*'],
- 'Global .*' : ['.*\d+ bytes in .*\d+ revisions',
- '.*\d+ bytes in .*\d+ changes',
- '.*\d+ bytes in .*\d+ node revision records',
- '.*\d+ bytes in .*\d+ representations',
- '.*\d+ bytes expanded representation size',
- '.*\d+ bytes with rep-sharing off' ],
- 'Noderev .*' : ['.*\d+ bytes in .*\d+ nodes total',
- '.*\d+ bytes in .*\d+ directory noderevs',
- '.*\d+ bytes in .*\d+ file noderevs' ],
- 'Representation .*' : ['.*\d+ bytes in .*\d+ representations total',
- '.*\d+ bytes in .*\d+ directory representations',
- '.*\d+ bytes in .*\d+ file representations',
- '.*\d+ bytes in .*\d+ representations of added file nodes',
- '.*\d+ bytes in .*\d+ directory property representations',
- '.*\d+ bytes in .*\d+ file property representations',
- '.*\d+ average delta chain length',
- '.*\d+ bytes in header & footer overhead' ],
+ 'Reading revisions' : [r'\s+ 0[ 0-9]*'],
+ 'Global .*' : [r'.*\d+ bytes in .*\d+ revisions',
+ r'.*\d+ bytes in .*\d+ changes',
+ r'.*\d+ bytes in .*\d+ node revision records',
+ r'.*\d+ bytes in .*\d+ representations',
+ r'.*\d+ bytes expanded representation size',
+ r'.*\d+ bytes with rep-sharing off' ],
+ 'Noderev .*' : [r'.*\d+ bytes in .*\d+ nodes total',
+ r'.*\d+ bytes in .*\d+ directory noderevs',
+ r'.*\d+ bytes in .*\d+ file noderevs' ],
+ 'Representation .*' : [r'.*\d+ bytes in .*\d+ representations total',
+ r'.*\d+ bytes in .*\d+ directory representations',
+ r'.*\d+ bytes in .*\d+ file representations',
+ r'.*\d+ bytes in .*\d+ representations of added file nodes',
+ r'.*\d+ bytes in .*\d+ directory property representations',
+ r'.*\d+ bytes in .*\d+ file property representations',
+ r'.*\d+ average delta chain length',
+ r'.*\d+ bytes in header & footer overhead' ],
'.* representation statistics:' :
- ['.*\d+ bytes in .*\d+ reps',
- '.*\d+ bytes in .*\d+ shared reps',
- '.*\d+ bytes expanded size',
- '.*\d+ bytes expanded shared size',
- '.*\d+ bytes with rep-sharing off',
- '.*\d+ shared references',
- '.*\d+ average delta chain length'],
- 'Largest.*:' : ['.*\d+ r\d+ */\S*'],
+ [r'.*\d+ bytes in .*\d+ reps',
+ r'.*\d+ bytes in .*\d+ shared reps',
+ r'.*\d+ bytes expanded size',
+ r'.*\d+ bytes expanded shared size',
+ r'.*\d+ bytes with rep-sharing off',
+ r'.*\d+ shared references',
+ r'.*\d+ average delta chain length'],
+ 'Largest.*:' : [r'.*\d+ r\d+ */\S*'],
'Extensions by number .*:' :
- ['.*\d+ \( ?\d+%\) representations'],
+ [r'.*\d+ \( ?\d+%\) representations'],
'Extensions by size .*:' :
- ['.*\d+ \( ?\d+%\) bytes'],
- 'Histogram of .*:' : ['.*\d+ \.\. < \d+.*\d+ \( ?\d+%\) bytes in *\d+ \( ?\d+%\) items']
+ [r'.*\d+ \( ?\d+%\) bytes'],
+ 'Histogram of .*:' : [r'.*\d+ \.\. < \d+.*\d+ \( ?\d+%\) bytes in *\d+ \( ?\d+%\) items']
}
# check that the output contains all sections
Modified: subversion/trunk/subversion/tests/cmdline/svnmover_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnmover_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svnmover_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -35,7 +35,7 @@
######################################################################
_commit_re = re.compile('^Committed r([0-9]+)')
-_log_re = re.compile('^ ([ADRM] /[^\(]+($| \(from .*:[0-9]+\)$))')
+_log_re = re.compile(r'^ ([ADRM] /[^\(]+($| \(from .*:[0-9]+\)$))')
_err_re = re.compile('^svnmover: (.*)$')
def mk_file(sbox, file_name):
Modified: subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -49,7 +49,7 @@
sbox.repo_url + '/A')
_svnmucc_re = re.compile(b'^(r[0-9]+) committed by jrandom at (.*)$')
-_log_re = re.compile('^ ([ADRM] /[^\(]+($| \(from .*:[0-9]+\)$))')
+_log_re = re.compile(r'^ ([ADRM] /[^\(]+($| \(from .*:[0-9]+\)$))')
_err_re = re.compile('^svnmucc: (.*)$')
def test_svnmucc(repo_url, expected_path_changes, *varargs):
Modified: subversion/trunk/subversion/tests/cmdline/svntest/actions.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/actions.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svntest/actions.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1046,9 +1046,9 @@
# normal line
key, value = line.split(':', 1)
- if re.search(' \(\d+ lines?\)$', key):
+ if re.search(r' \(\d+ lines?\)$', key):
# numbered continuation lines
- match = re.match('^(.*) \((\d+) lines?\)$', key)
+ match = re.match(r'^(.*) \((\d+) lines?\)$', key)
key = match.group(1)
lock_comment_lines = int(match.group(2))
elif len(value) > 1:
Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1511,7 +1511,7 @@
merge operation on revisions REVSTART through REVEND. Omit both
REVSTART and REVEND for the case where the left and right sides of
the merge are from different URLs."""
- from_foreign_phrase = foreign and "\(from foreign repository\) " or ""
+ from_foreign_phrase = foreign and r"\(from foreign repository\) " or ""
if target:
target_re = re.escape(target)
else:
Modified: subversion/trunk/subversion/tests/cmdline/svntest/verify.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/verify.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svntest/verify.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1024,7 +1024,7 @@
] + make_diff_prop_val("+", pval)
def make_diff_prop_modified(pname, pval1, pval2):
- """Return a property diff for modification of property PNAME, old value
+ r"""Return a property diff for modification of property PNAME, old value
PVAL1, new value PVAL2.
PVAL is a single string with no embedded newlines. A newline at the
Modified: subversion/trunk/subversion/tests/cmdline/svntest/wc.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/wc.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/svntest/wc.py Sat Sep 30 13:13:16 2023 (r2)
@@ -93,30 +93,30 @@
'([KOBT ])'
'([C ]) '
'([* ]) +'
- '((?P<wc_rev>\d+|-|\?) +(\d|-|\?)+ +(\S+) +)?'
+ r'((?P<wc_rev>\d+|-|\?) +(\d|-|\?)+ +(\S+) +)?'
'(?P<path>.+)$')
_re_parse_status_ex = re.compile('^ ('
- '( \> moved (from (?P<moved_from>.+)|to (?P<moved_to>.*)))'
- '|( \> swapped places with (?P<swapped_with>.+).*)'
- '|(\> (?P<tc>.+))'
+ r'( \> moved (from (?P<moved_from>.+)|to (?P<moved_to>.*)))'
+ r'|( \> swapped places with (?P<swapped_with>.+).*)'
+ r'|(\> (?P<tc>.+))'
')$')
_re_parse_skipped = re.compile("^(Skipped[^']*) '(.+)'( --.*)?\n")
_re_parse_summarize = re.compile("^([MAD ][M ]) (.+)\n")
-_re_parse_checkout = re.compile('^([RMAGCUDE_ B][MAGCUDE_ ])'
- '([B ])'
- '([CAUD ])\s+'
- '(.+)')
-_re_parse_co_skipped = re.compile('^(Restored|Skipped|Removed external)'
- '\s+\'(.+)\'(( --|: ).*)?')
-_re_parse_co_restored = re.compile('^(Restored)\s+\'(.+)\'')
+_re_parse_checkout = re.compile(r'^([RMAGCUDE_ B][MAGCUDE_ ])'
+ r'([B ])'
+ r'([CAUD ])\s+'
+ r'(.+)')
+_re_parse_co_skipped = re.compile(r'^(Restored|Skipped|Removed external)'
+ r'\s+\'(.+)\'(( --|: ).*)?')
+_re_parse_co_restored = re.compile(r'^(Restored)\s+\'(.+)\'')
# Lines typically have a verb followed by whitespace then a path.
-_re_parse_commit_ext = re.compile('^(([A-Za-z]+( [a-z]+)*)) \'(.+)\'( --.*)?')
-_re_parse_commit = re.compile('^(\w+( \(bin\))?)\s+(.+)')
+_re_parse_commit_ext = re.compile("^(([A-Za-z]+( [a-z]+)*)) '(.+)'( --.*)?")
+_re_parse_commit = re.compile(r'^(\w+( \(bin\))?)\s+(.+)')
#rN: eids 0 15 branches 4
_re_parse_eid_header = re.compile('^r(-1|[0-9]+): eids ([0-9]+) ([0-9]+) '
Modified: subversion/trunk/subversion/tests/cmdline/trans_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/trans_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/trans_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -304,7 +304,7 @@
fp = open(url_unexp_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$URL: (http|https|file|svn|svn\\+ssh)://",
+ and (re.match(r"\$URL: (http|https|file|svn|svn\+ssh)://",
lines[0]))):
logger.warn("URL expansion failed for %s", url_unexp_path)
raise svntest.Failure
@@ -314,7 +314,7 @@
fp = open(url_exp_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$URL: (http|https|file|svn|svn\\+ssh)://",
+ and (re.match(r"\$URL: (http|https|file|svn|svn\+ssh)://",
lines[0]))):
logger.warn("URL expansion failed for %s", url_exp_path)
raise svntest.Failure
@@ -324,7 +324,7 @@
fp = open(id_unexp_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$Id: id_unexp", lines[0]))):
+ and (re.match(r"\$Id: id_unexp", lines[0]))):
logger.warn("Id expansion failed for %s", id_exp_path)
raise svntest.Failure
fp.close()
@@ -333,7 +333,7 @@
fp = open(id_exp_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$Id: id_exp", lines[0]))):
+ and (re.match(r"\$Id: id_exp", lines[0]))):
logger.warn("Id expansion failed for %s", id_exp_path)
raise svntest.Failure
fp.close()
@@ -342,7 +342,7 @@
fp = open(header_unexp_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$Header: (https?|file|svn|svn\\+ssh)://.* jrandom",
+ and (re.match(r"\$Header: (https?|file|svn|svn\+ssh)://.* jrandom",
lines[0]))):
logger.warn("Header expansion failed for %s", header_unexp_path)
raise svntest.Failure
@@ -352,7 +352,7 @@
fp = open(header_exp_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$Header: (https?|file|svn|svn\\+ssh)://.* jrandom",
+ and (re.match(r"\$Header: (https?|file|svn|svn\+ssh)://.* jrandom",
lines[0]))):
logger.warn("Header expansion failed for %s", header_exp_path)
raise svntest.Failure
@@ -409,7 +409,7 @@
fp = open(id_with_space_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$Id: .*id with space", lines[0]))):
+ and (re.match(r"\$Id: .*id with space", lines[0]))):
logger.warn("Id expansion failed for %s", id_with_space_path)
raise svntest.Failure
fp.close()
@@ -418,7 +418,7 @@
fp = open(id_exp_with_dollar_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$Id: .*id_exp with_\$_sign [^$]* jrandom \$",
+ and (re.match(r"\$Id: .*id_exp with_\$_sign [^$]* jrandom \$",
lines[0]))):
logger.warn("Id expansion failed for %s", id_exp_with_dollar_path)
@@ -645,7 +645,7 @@
fp = open(other_url_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1)
- and (re.match("\$URL: (http|https|file|svn|svn\\+ssh)://",
+ and (re.match(r"\$URL: (http|https|file|svn|svn\+ssh)://",
lines[0]))):
logger.warn("URL expansion failed for %s", other_url_path)
raise svntest.Failure
Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/update_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/update_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -620,8 +620,8 @@
# "Extra" files that we expect to result from the conflicts.
# These are expressed as list of regexps. What a cool system! :-)
- extra_files = ['mu.*\.r1', 'mu.*\.r2', 'mu.*\.mine',
- 'rho.*\.r1', 'rho.*\.r2', 'rho.*\.mine', 'rho.*\.prej']
+ extra_files = [r'mu.*\.r1', r'mu.*\.r2', r'mu.*\.mine',
+ r'rho.*\.r1', r'rho.*\.r2', r'rho.*\.mine', r'rho.*\.prej']
# Do the update and check the results in three ways.
# All "extra" files are passed to detect_conflict_files().
@@ -2700,10 +2700,10 @@
})
# "Extra" files that we expect to result from the conflicts.
- extra_files = ['eta\.r0', 'eta\.r2', 'eta\.mine',
- 'kappa\.r0', 'kappa\.r2', 'kappa\.mine',
- 'epsilon\.r0', 'epsilon\.r2', 'epsilon\.mine',
- 'kappa.prej', 'zeta.prej', 'dir_conflicts.prej']
+ extra_files = [r'eta\.r0', r'eta\.r2', r'eta\.mine',
+ r'kappa\.r0', r'kappa\.r2', r'kappa\.mine',
+ r'epsilon\.r0', r'epsilon\.r2', r'epsilon\.mine',
+ r'kappa.prej', r'zeta.prej', r'dir_conflicts.prej']
# Perform forced update and check the results in three
# ways (including props).
@@ -3826,9 +3826,9 @@
'foo\n'))
# Set the expected extra files for the test
- extra_files = ['iota.*\.r2', 'iota.*\.r3', 'iota.*\.mine',
- 'lambda.*\.r2', 'lambda.*\.r3', 'lambda.*\.mine',
- 'rho.*\.r2', 'rho.*\.r3', 'rho.*\.mine']
+ extra_files = [r'iota.*\.r2', r'iota.*\.r3', r'iota.*\.mine',
+ r'lambda.*\.r2', r'lambda.*\.r3', r'lambda.*\.mine',
+ r'rho.*\.r2', r'rho.*\.r3', r'rho.*\.mine']
# Set the expected status for the test
expected_status = svntest.actions.get_virginal_state(wc_backup, 3)
Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Sat Sep 30 13:13:16 2023 (r2)
@@ -51,7 +51,7 @@
Issue = svntest.testcase.Issue_deco
Wimp = svntest.testcase.Wimp_deco
-wc_is_too_old_regex = (".*is too old \(format \d+.*\).*")
+wc_is_too_old_regex = (r".*is too old \(format \d+.*\).*")
def get_current_format():
Modified: subversion/trunk/tools/dist/release.py
==============================================================================
--- subversion/trunk/tools/dist/release.py Sat Sep 30 11:00:27 2023 (r1)
+++ subversion/trunk/tools/dist/release.py Sat Sep 30 13:13:16 2023 (r2)
@@ -1567,7 +1567,7 @@
mergeinfo = mergeinfo.splitlines()
separator_pattern = re.compile('^-{72}$')
- revline_pattern = re.compile('^r(\d+) \| [^\|]+ \| [^\|]+ \| \d+ lines?$')
+ revline_pattern = re.compile(r'^r(\d+) \| [^|]+ \| [^|]+ \| \d+ lines?$')
changes_prefix_pattern = re.compile(r'^\[(U|D)?:?([^\]]+)?\](.+)$')
changes_suffix_pattern = re.compile(r'^(.+)\[(U|D)?:?([^\]]+)?\]$')
# TODO: push this into backport.status as a library function