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

Reply via email to