On 2023/05/29 18:58, Daniel Sahlberg wrote: > For test 16: > [[[ > W: Unexpected output > W: EXPECTED STDERR (regexp, match_all=False): > W: | svn: E200007: Cannot move path > '.*http://localhost:17838/svn\-test\-work/repositories/copy_tests\-16/A/B > <http://localhost:17838/svn\-test\-work/repositories/copy_tests\-16/A/B>' > into its own child > '.*http://localhost:17838/svn\-test\-work/repositories/copy_tests\-16/A/B/F > <http://localhost:17838/svn\-test\-work/repositories/copy_tests\-16/A/B/F>' > W: ACTUAL STDERR: > W: | svn: E200007: Cannot move path > 'http:\\localhost:17838\svn-test-work\repositories\copy_tests-16\A\B' into > its own child > 'http:\\localhost:17838\svn-test-work\repositories\copy_tests-16\A\B\F' > ]]] > > There was a call to svn_dirent_local_style on the error message, which > obviously turned \ to / on Windows. I've added a check in r1910112, please > check if this works for you.
Thanks. Verified that copy_tests.py 16 goes away with r1910112. > For test 17: > [[[ > File "C:\usr\apps\python312\Lib\re\_parser.py", line 383, in _escape > raise source.error("incomplete escape %s" % escape, len(escape)) > re.error: incomplete escape \u at position 34 > ]]] > > I suppose this is because the expected_error is constructed like this: > [[[ > expected_error = "svn: E200007: Cannot move path '%s' into its own " \ > "child '%s'" % (from_path, to_path) > ]]] > > With a from_path C:\usr\subversion\[...], I suppose Python interpret \ as an > escape character. I'm not proficient enough in Python to have an idea of how > to escape from_path and to_path in an appropriate way. @Jun, do you have a > suggestion? The following patch could fix it and verified (applying `re.escape` to the paths). [[[ Index: subversion/tests/cmdline/copy_tests.py =================================================================== --- subversion/tests/cmdline/copy_tests.py (revision 1910112) +++ subversion/tests/cmdline/copy_tests.py (working copy) @@ -1295,7 +1295,7 @@ def wc_move_parent_into_child(sbox): os.chdir(wc_dir) expected_error = "svn: E200007: Cannot move path '%s' into its own " \ - "child '%s'" % (from_path, to_path) + "child '%s'" % (re.escape(from_path), re.escape(to_path)) svntest.actions.run_and_verify_svn(None, expected_error, 'mv', '.', 'F/B') ]]] > (Sidenote: There is an error message in the test log about line 1424. This > was added way back in r846892 and has essentially been unchanged ever since. > I believe this is unrelated and I will send this in a separate thread when > I've had some more time to look at it). The `SyntaxWarning` from line 1424 is displayed since Python 3.12, even without -Wdefault option. $ python3.12 -c '"\$"' <string>:1: SyntaxWarning: invalid escape sequence '\$' $ python3.11 -c '"\$"' # no warnings $ python3.11 -Wdefault -c '"\$"' <string>:1: DeprecationWarning: invalid escape sequence '\$' See also: https://docs.python.org/3.12/whatsnew/3.12.html?highlight=backslash-character#other-language-changes -- Jun Omae <jun6...@gmail.com> (大前 潤)