Den fre 6 okt. 2023 kl 19:34 skrev Nathan Hartman <hartman.nat...@gmail.com >:
> 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. > >From the test: [[[ was_cwd = os.getcwd() from_path = os.path.abspath(sbox.ospath('')) to_path = os.path.abspath(sbox.ospath('F/B')) os.chdir(wc_dir) ]]] Would be interesting to know the values of was_cwd, return value of sbox.ospath("") and how that translates with os.path.abspath() and the same for "F/B". 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. > The symlink being an artefact from your custom build system? Sounds like you might be on to something. > > Is there a way to single-step through Python code that I could use to > follow the test suite logic? > I've said it before; I'm no Python expert but maybe https://docs.python.org/3/library/pdb.html? No idea if that will work with the build system. Kind regards, Daniel