[PATCH] pathutil: add doctests for canonpath()

Yuya Nishihara yuya at tcha.org
Sat Nov 4 22:11:21 EDT 2017

On Sat, 4 Nov 2017 09:16:03 -0400, Matt Harbison wrote:
> > On Nov 4, 2017, at 4:03 AM, Yuya Nishihara <yuya at tcha.org> wrote:
> >> On Fri, 03 Nov 2017 23:26:40 -0400, Matt Harbison wrote:
> >> # HG changeset patch
> >> # User Matt Harbison <matt_harbison at yahoo.com>
> >> # Date 1509762170 14400
> >> #      Fri Nov 03 22:22:50 2017 -0400
> >> # Node ID 7d9abeb82f021b4b96162a719f4a44a0175c0828
> >> # Parent  3649c3f2cd90c8aec395ca8af5adae33defff12c
> >> pathutil: add doctests for canonpath()
> >> 
> >> This is a followup to f445b10dc7fb.  Since there's no way to ensure that more
> >> drive letters than C: exist, this seems like the only way to test it.  This is
> >> enough to catch the f445b10dc7fb scenario, as well as CWD outside of the repo
> >> when the path isn't prefixed with path/to/repo.
> > 
> > Maybe we can add an hghave rule to check if d: drive exists, is different from
> > the TESTTMP, and can chdir into it?
> I thought about that, but this allows everyone running tests on Windows to be able to see the error if it regresses, regardless of their setup.  That seems important, given how few people run Windows tests.  I’m not sure what the Windows test system is currently configured to do, for instance (it’s been a WIP because of some unexpected errors running under buildbot, and I don’t think it is totally squared away yet).

Okay, that makes some sense. I'll queue this patch, thanks.

My concern is that the doctest is too limited in scope to cover possible bugs
caused by Windows drive letter. Maybe we could add a safer alternative to
os.path.relpath() and ban the use by check-code.

More information about the Mercurial-devel mailing list