[PATCH 2 of 2] run-tests: ensure install directories exist

Augie Fackler raf at durin42.com
Sun Feb 8 13:25:36 CST 2015


On Fri, Feb 06, 2015 at 04:33:16PM -0800, Gregory Szorc wrote:
> # HG changeset patch
> # User Gregory Szorc <gregory.szorc at gmail.com>
> # Date 1423269185 28800
> #      Fri Feb 06 16:33:05 2015 -0800
> # Node ID 864fa617de1eb22fe20e81e4db5a28eb14a78163
> # Parent  a758be135cf4455492970d4e8c0bc29b60562e41
> run-tests: ensure install directories exist

queued these two, thanks

>
> As part of the transition to setuptools, it was discovered that
> setuptools doesn't create install directories for you where distutils
> apparently did. This was causing run-tests.py to fail when creating the
> temporary hg install.
>
> We work around this problem by creating the install directories before
> running setup.py.
>
> diff --git a/tests/run-tests.py b/tests/run-tests.py
> --- a/tests/run-tests.py
> +++ b/tests/run-tests.py
> @@ -1862,8 +1862,19 @@ class TestRunner(object):
>                    'base': os.path.join(self._hgtmp, "build"),
>                    'prefix': self._installdir, 'libdir': self._pythondir,
>                    'bindir': self._bindir,
>                    'nohome': nohome, 'logfile': installerrs})
> +
> +        # setuptools requires install directories to exist.
> +        def makedirs(p):
> +            try:
> +                os.makedirs(p)
> +            except OSError as e:
> +                if e.errno != errno.EEXIST:
> +                    raise
> +        makedirs(self._pythondir)
> +        makedirs(self._bindir)
> +
>          vlog("# Running", cmd)
>          if os.system(cmd) == 0:
>              if not self.options.verbose:
>                  os.remove(installerrs)
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list