예제 #1
0
 def test_setuptools_compat(self):
     import distutils.core, distutils.extension, distutils.command.build_ext
     saved_ext = distutils.extension.Extension
     try:
         test_support.import_module('setuptools_build_ext', deprecated=True)
         from setuptools_build_ext import build_ext as setuptools_build_ext
         from setuptools_extension import Extension
         etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
         etree_ext = Extension('lxml.etree', [etree_c])
         dist = Distribution({'name': 'lxml',
          'ext_modules': [etree_ext]})
         cmd = setuptools_build_ext(dist)
         cmd.ensure_finalized()
         cmd.inplace = 1
         cmd.distribution.package_dir = {'': 'src'}
         cmd.distribution.packages = ['lxml', 'lxml.html']
         curdir = os.getcwd()
         ext = sysconfig.get_config_var('SO')
         wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
         path = cmd.get_ext_fullpath('lxml.etree')
         self.assertEqual(wanted, path)
     finally:
         distutils.extension.Extension = saved_ext
         distutils.core.Extension = saved_ext
         distutils.command.build_ext.Extension = saved_ext
예제 #2
0
    def test_setuptools_compat(self):
        import distutils.core, distutils.extension, distutils.command.build_ext
        saved_ext = distutils.extension.Extension
        try:
            # on some platforms, it loads the deprecated "dl" module
            test_support.import_module('setuptools_build_ext', deprecated=True)

            # theses import patch Distutils' Extension class
            from setuptools_build_ext import build_ext as setuptools_build_ext
            from setuptools_extension import Extension

            etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
            etree_ext = Extension('lxml.etree', [etree_c])
            dist = Distribution({'name': 'lxml', 'ext_modules': [etree_ext]})
            cmd = setuptools_build_ext(dist)
            cmd.ensure_finalized()
            cmd.inplace = 1
            cmd.distribution.package_dir = {'': 'src'}
            cmd.distribution.packages = ['lxml', 'lxml.html']
            curdir = os.getcwd()
            ext = sysconfig.get_config_var("SO")
            wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
            path = cmd.get_ext_fullpath('lxml.etree')
            self.assertEqual(wanted, path)
        finally:
            # restoring Distutils' Extension class otherwise its broken
            distutils.extension.Extension = saved_ext
            distutils.core.Extension = saved_ext
            distutils.command.build_ext.Extension = saved_ext
예제 #3
0
    def test_setuptools_compat(self):
        import distutils.core, distutils.extension, distutils.command.build_ext
        saved_ext = distutils.extension.Extension
        try:
            # on some platforms, it loads the deprecated "dl" module
            test_support.import_module('setuptools_build_ext', deprecated=True)

            # theses import patch Distutils' Extension class
            from setuptools_build_ext import build_ext as setuptools_build_ext
            from setuptools_extension import Extension

            etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
            etree_ext = Extension('lxml.etree', [etree_c])
            dist = Distribution({'name': 'lxml', 'ext_modules': [etree_ext]})
            cmd = setuptools_build_ext(dist)
            cmd.ensure_finalized()
            cmd.inplace = 1
            cmd.distribution.package_dir = {'': 'src'}
            cmd.distribution.packages = ['lxml', 'lxml.html']
            curdir = os.getcwd()
            ext = sysconfig.get_config_var("SO")
            wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
            path = cmd.get_ext_fullpath('lxml.etree')
            self.assertEqual(wanted, path)
        finally:
            # restoring Distutils' Extension class otherwise its broken
            distutils.extension.Extension = saved_ext
            distutils.core.Extension = saved_ext
            distutils.command.build_ext.Extension = saved_ext
예제 #4
0
 def test_setuptools_compat(self):
     import distutils.core, distutils.extension, distutils.command.build_ext
     saved_ext = distutils.extension.Extension
     try:
         test_support.import_module('setuptools_build_ext', deprecated=True)
         from setuptools_build_ext import build_ext as setuptools_build_ext
         from setuptools_extension import Extension
         etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
         etree_ext = Extension('lxml.etree', [etree_c])
         dist = Distribution({'name': 'lxml',
          'ext_modules': [etree_ext]})
         cmd = setuptools_build_ext(dist)
         cmd.ensure_finalized()
         cmd.inplace = 1
         cmd.distribution.package_dir = {'': 'src'}
         cmd.distribution.packages = ['lxml', 'lxml.html']
         curdir = os.getcwd()
         ext = sysconfig.get_config_var('SO')
         wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
         path = cmd.get_ext_fullpath('lxml.etree')
         self.assertEqual(wanted, path)
     finally:
         distutils.extension.Extension = saved_ext
         distutils.core.Extension = saved_ext
         distutils.command.build_ext.Extension = saved_ext
예제 #5
0
    def test_setuptools_compat(self):
        from setuptools_build_ext import build_ext as setuptools_build_ext
        from setuptools_extension import Extension

        etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
        etree_ext = Extension('lxml.etree', [etree_c])
        dist = Distribution({'name': 'lxml', 'ext_modules': [etree_ext]})
        cmd = setuptools_build_ext(dist)
        cmd.ensure_finalized()
        cmd.inplace = 1
        cmd.distribution.package_dir = {'': 'src'}
        cmd.distribution.packages = ['lxml', 'lxml.html']
        curdir = os.getcwd()
        ext = sysconfig.get_config_var("SO")
        wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
        path = cmd.get_ext_fullpath('lxml.etree')
        self.assertEquals(wanted, path)
예제 #6
0
    def test_setuptools_compat(self):
        from setuptools_build_ext import build_ext as setuptools_build_ext
        from setuptools_extension import Extension

        etree_c = os.path.join(self.tmp_dir, "lxml.etree.c")
        etree_ext = Extension("lxml.etree", [etree_c])
        dist = Distribution({"name": "lxml", "ext_modules": [etree_ext]})
        cmd = setuptools_build_ext(dist)
        cmd.ensure_finalized()
        cmd.inplace = 1
        cmd.distribution.package_dir = {"": "src"}
        cmd.distribution.packages = ["lxml", "lxml.html"]
        curdir = os.getcwd()
        ext = sysconfig.get_config_var("SO")
        wanted = os.path.join(curdir, "src", "lxml", "etree" + ext)
        path = cmd.get_ext_fullpath("lxml.etree")
        self.assertEquals(wanted, path)
예제 #7
0
    def test_setuptools_compat(self):
        try:
            # on some platforms, it loads the deprecated "dl" module
            test_support.import_module('setuptools_build_ext', deprecated=True)
        except test_support.TestSkipped:
            return
        from setuptools_build_ext import build_ext as setuptools_build_ext
        from setuptools_extension import Extension

        etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
        etree_ext = Extension('lxml.etree', [etree_c])
        dist = Distribution({'name': 'lxml', 'ext_modules': [etree_ext]})
        cmd = setuptools_build_ext(dist)
        cmd.ensure_finalized()
        cmd.inplace = 1
        cmd.distribution.package_dir = {'': 'src'}
        cmd.distribution.packages = ['lxml', 'lxml.html']
        curdir = os.getcwd()
        ext = sysconfig.get_config_var("SO")
        wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
        path = cmd.get_ext_fullpath('lxml.etree')
        self.assertEquals(wanted, path)