On Fri, Oct 6, 2023 at 10:50 AM Daniel Sahlberg <daniel.l.sahlb...@gmail.com> wrote: > > Den fre 6 okt. 2023 kl 06:26 skrev Nathan Hartman <hartman.nat...@gmail.com>: (snip) >> This is on trunk, as of r1912743 (the latest right now), Linux Debian, >> Python 3.7.5, building SVN with --enable-maintainer-mode (this might >> account for some extra text in the actual error message?). > > > I also build with --enable-maintainer-mode and it has not caused problems for > me previously.
Thanks. In retrospect I don't think this is an issue. Replying inline below... >> [[[ >> W: Unexpected output >> W: EXPECTED STDERR (regexp, match_all=False): >> W: | svn: E200007: Cannot move path >> '/home/nathan/ramdrive/svndev/svn\-trunk/subversion/tests/cmdline/svn\-test\-work/working_copies/copy_tests\-17' >> into its own child >> '/home/nathan/ramdrive/svndev/svn\-trunk/subversion/tests/cmdline/svn\-test\-work/working_copies/copy_tests\-17/F/B' > > > Note the "\-", ie escaping of the - character. Can you check if removing the > re.escape (reverting r1910129) helps? Since you are on *nix, the re.escape > should not be needed (it was only there to account for the \ path separator > in Windows). Ok I will check this. >> W: ACTUAL STDERR: >> W: | subversion/svn/move-cmd.c:102, >> W: | subversion/svn/util.c:557, >> W: | subversion/libsvn_client/copy.c:3495, >> W: | subversion/libsvn_client/copy.c:3093: >> (apr_err=SVN_ERR_UNSUPPORTED_FEATURE) >> W: | svn: E200007: Cannot move path >> '/home/nathan/ramdrive/svndev/ramdisk/svn-trunk/working_copies/copy_tests-17' >> into its own child >> '/home/nathan/ramdrive/svndev/ramdisk/svn-trunk/working_copies/copy_tests-17/F/B' >> W: CWD: >> /home/nathan/ramdrive/svndev/ramdisk/svn-trunk/working_copies/copy_tests-17 > > > Note the extra "/ramdisk" here, between svndev and svn-trunk, missing from > the expected error previously. > > What is the actual layout of your system? Do you have any specific arguments > when starting the test suite affecting the location of the test-repo/wc:s? Yes, this ramdrive/.../ramdisk oddity does exist. I am using a (modified to fit my system) version of the Makefile.svn in tools/dev/unix-build, which builds all the dependencies and makes running tests easy with [local|svn|serf] x [bdb|fsfs|fsx]. This makefile can take a RAMDISK variable, e.g.,: $ make svn-check RAMDISK=$SVN_DEV/ramdisk JAVA=no BRANCH=1.14.x and then it puts all the test suite's temporary working copies in the specified directory. In the past, the whole tree was on Flash storage and I was using the RAMDISK variable as above for testing. More recently, to avoid Flash wear from lots of development activities, I started mounting a ramdisk on a mountpoint in my home directory (/home/nathan/ramdrive). $SVN_DEV points to /home/nathan/ramdrive/svndev. And inside there, for historical reasons, is a directory called ramdisk, which is still being passed in the RAMDISK variable. It is just a directory, not a mountpoint for a second ramdisk. So, yes, it's stupid, but there is in fact ~/ramdrive/svndev/ramdisk/...!! (And inconsistent naming: ramdrive, ramdisk...) The interesting thing, though, is that many tests in the test suite compare expected error strings to actual error strings, involving paths etc., and those are passing. What I also find interesting, besides the added escaping, is that the expected path is very different than the actual path. Showing these here without escaping for illustration: Expected: '/home/nathan/ramdrive/svndev/svn-trunk/subversion/tests/cmdline/svn-test-work/working_copies/copy_tests\-17' Actual: '/home/nathan/ramdrive/svndev/ramdisk/svn-trunk/working_copies/copy_tests-17' The actual path is correct. I am assuming that in the expected path, 'svn-test-work' is probably a symlink to ~/ramdrive/svndev/ramdisk. I can't check this at the moment but I will try rerunning later and I'll inspect these locations. Is there a way to single-step through Python code that I could use to follow the test suite logic? Cheers, Nathan