diff options
| author | Ofekmeister <ofekmeister@gmail.com> | 2016-08-20 13:29:16 -0400 |
|---|---|---|
| committer | Ofekmeister <ofekmeister@gmail.com> | 2016-08-20 13:29:16 -0400 |
| commit | 9e11ba01ef15138fc928f720967bb4899d8bde38 (patch) | |
| tree | efad3b70a7e4a8bd0d491eb1f94c588db9c5ee16 /setuptools/tests/test_build_ext.py | |
| parent | 853a9df48cc056a07e17511a2b65918af9605bbc (diff) | |
| parent | 06df852e7cda567b6f8ab6831486285f0e2989a4 (diff) | |
| download | python-setuptools-git-9e11ba01ef15138fc928f720967bb4899d8bde38.tar.gz | |
Merge remote-tracking branch 'refs/remotes/pypa/master'
Diffstat (limited to 'setuptools/tests/test_build_ext.py')
| -rw-r--r-- | setuptools/tests/test_build_ext.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/setuptools/tests/test_build_ext.py b/setuptools/tests/test_build_ext.py index 5168ebf0..ac002f44 100644 --- a/setuptools/tests/test_build_ext.py +++ b/setuptools/tests/test_build_ext.py @@ -1,7 +1,12 @@ +import sys import distutils.command.build_ext as orig +from distutils.sysconfig import get_config_var -from setuptools.command.build_ext import build_ext +from setuptools.extern import six + +from setuptools.command.build_ext import build_ext, get_abi3_suffix from setuptools.dist import Distribution +from setuptools.extension import Extension class TestBuildExt: @@ -18,3 +23,24 @@ class TestBuildExt: res = cmd.get_ext_filename('foo') wanted = orig.build_ext.get_ext_filename(cmd, 'foo') assert res == wanted + + def test_abi3_filename(self): + """ + Filename needs to be loadable by several versions + of Python 3 if 'is_abi3' is truthy on Extension() + """ + print(get_abi3_suffix()) + + extension = Extension('spam.eggs', ['eggs.c'], py_limited_api=True) + dist = Distribution(dict(ext_modules=[extension])) + cmd = build_ext(dist) + cmd.finalize_options() + assert 'spam.eggs' in cmd.ext_map + res = cmd.get_ext_filename('spam.eggs') + + if six.PY2 or not get_abi3_suffix(): + assert res.endswith(get_config_var('SO')) + elif sys.platform == 'win32': + assert res.endswith('eggs.pyd') + else: + assert 'abi3' in res |
