diff options
Diffstat (limited to 'setuptools/command')
-rw-r--r-- | setuptools/command/build_py.py | 6 | ||||
-rw-r--r-- | setuptools/command/test.py | 28 |
2 files changed, 27 insertions, 7 deletions
diff --git a/setuptools/command/build_py.py b/setuptools/command/build_py.py index 2413b420..94f66741 100644 --- a/setuptools/command/build_py.py +++ b/setuptools/command/build_py.py @@ -21,7 +21,9 @@ try: class Mixin2to3(_Mixin2to3): def run_2to3(self, files, doctests = False): - if not setuptools.run_2to3: + # See of the distribution option has been set, otherwise check the + # setuptools default. + if self.distribution.run_2to3 is not True and setuptools.run_2to3 is False: return if not files: return @@ -30,6 +32,8 @@ try: self.fixer_names = [] for p in setuptools.lib2to3_fixer_packages: self.fixer_names.extend(get_fixers_from_package(p)) + for p in self.distribution.additional_2to3_fixers: + self.fixer_names.extend(get_fixers_from_package(p)) if doctests: if setuptools.run_2to3_on_doctests: r = DistutilsRefactoringTool(self.fixer_names) diff --git a/setuptools/command/test.py b/setuptools/command/test.py index db918dae..0f96e83a 100644 --- a/setuptools/command/test.py +++ b/setuptools/command/test.py @@ -1,4 +1,4 @@ -from setuptools import Command +from setuptools import Command, run_2to3 from distutils.errors import DistutilsOptionError import sys from pkg_resources import * @@ -81,12 +81,28 @@ class test(Command): def with_project_on_sys_path(self, func): - # Ensure metadata is up-to-date - self.run_command('egg_info') + if getattr(self.distribution, 'run_2to3', run_2to3): + # If we run 2to3 we can not do this inplace: - # Build extensions in-place - self.reinitialize_command('build_ext', inplace=1) - self.run_command('build_ext') + # Ensure metadata is up-to-date + self.reinitialize_command('build_py', inplace=0) + self.run_command('build_py') + bpy_cmd = self.get_finalized_command("build_py") + build_path = normalize_path(bpy_cmd.build_lib) + + # Build extensions + self.reinitialize_command('egg_info', egg_base=build_path) + self.run_command('egg_info') + + self.reinitialize_command('build_ext', inplace=0) + self.run_command('build_ext') + else: + # Without 2to3 inplace works fine: + self.run_command('egg_info') + + # Build extensions in-place + self.reinitialize_command('build_ext', inplace=1) + self.run_command('build_ext') ei_cmd = self.get_finalized_command("egg_info") |