summaryrefslogtreecommitdiffstats
path: root/Lib/packaging/tests/test_command_install_dist.py
diff options
context:
space:
mode:
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)
commit540edc6e660258f98cc91d39db4085c2140a8f8f (patch)
tree299142976ae6da686e0c95778f19fb4e83d331a9 /Lib/packaging/tests/test_command_install_dist.py
parent746e72d59c958bba39d8e755f4cda38010790478 (diff)
downloadcpython-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/tests/test_command_install_dist.py')
-rw-r--r--Lib/packaging/tests/test_command_install_dist.py25
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)