diff options
author | Éric Araujo <merwok@netwok.org> | 2011-08-20 05:42:56 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2011-08-20 05:42:56 (GMT) |
commit | 540edc6e660258f98cc91d39db4085c2140a8f8f (patch) | |
tree | 299142976ae6da686e0c95778f19fb4e83d331a9 /Lib/packaging | |
parent | 746e72d59c958bba39d8e755f4cda38010790478 (diff) | |
download | cpython-540edc6e660258f98cc91d39db4085c2140a8f8f.zip cpython-540edc6e660258f98cc91d39db4085c2140a8f8f.tar.gz cpython-540edc6e660258f98cc91d39db4085c2140a8f8f.tar.bz2 |
Add a test for extension modules in the old-style record file
Diffstat (limited to 'Lib/packaging')
-rw-r--r-- | Lib/packaging/tests/test_command_install_dist.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/Lib/packaging/tests/test_command_install_dist.py b/Lib/packaging/tests/test_command_install_dist.py index c06a3c3..ea7c3d3 100644 --- a/Lib/packaging/tests/test_command_install_dist.py +++ b/Lib/packaging/tests/test_command_install_dist.py @@ -6,6 +6,7 @@ from sysconfig import (get_scheme_names, get_config_vars, _SCHEMES, get_config_var, get_path) from packaging.command.install_dist import install_dist +from packaging.compiler.extension import Extension from packaging.dist import Distribution from packaging.errors import PackagingOptionError @@ -176,7 +177,6 @@ class InstallTestCase(support.TempdirManager, # test pre-PEP 376 --record option (outside dist-info dir) install_dir = self.mkdtemp() project_dir, dist = self.create_dist(scripts=['hello']) - #self.addCleanup(os.chdir, os.getcwd()) os.chdir(project_dir) self.write_file('hello', "print('o hai')") @@ -197,6 +197,29 @@ class InstallTestCase(support.TempdirManager, # XXX test that fancy_getopt is okay with options named # record and no-record but unrelated + def test_old_record_extensions(self): + # test pre-PEP 376 --record option with ext modules + install_dir = self.mkdtemp() + project_dir, dist = self.create_dist(ext_modules=[ + Extension('xx', ['xxmodule.c'])]) + os.chdir(project_dir) + support.copy_xxmodule_c(project_dir) + + cmd = install_dist(dist) + dist.command_obj['install_dist'] = cmd + cmd.root = install_dir + cmd.record = os.path.join(project_dir, 'filelist') + cmd.ensure_finalized() + cmd.run() + + with open(cmd.record) as f: + content = f.read() + + found = [os.path.basename(line) for line in content.splitlines()] + expected = ['xx%s' % get_config_var('SO'), + 'METADATA', 'INSTALLER', 'REQUESTED', 'RECORD'] + self.assertEqual(found, expected) + def test_suite(): return unittest.makeSuite(InstallTestCase) |