|
1 | 1 | """Tests for wheel binary packages and .dist-info."""
|
2 | 2 | import os
|
| 3 | +import sys |
3 | 4 |
|
4 | 5 | import pytest
|
5 | 6 | from mock import patch, Mock
|
@@ -317,26 +318,28 @@ def abi_tag_unicode(self, flags, config_vars):
|
317 | 318 | config_vars.update({'SOABI': None})
|
318 | 319 | base = pip.pep425tags.get_abbr_impl() + pip.pep425tags.get_impl_ver()
|
319 | 320 |
|
320 |
| - config_vars.update({'Py_UNICODE_SIZE': 2}) |
321 |
| - mock_gcf = self.mock_get_config_var(**config_vars) |
322 |
| - with patch('pip.pep425tags.sysconfig.get_config_var', mock_gcf): |
323 |
| - abi_tag = pip.pep425tags.get_abi_tag() |
324 |
| - assert abi_tag == base + flags |
325 |
| - |
326 |
| - config_vars.update({'Py_UNICODE_SIZE': 4}) |
327 |
| - mock_gcf = self.mock_get_config_var(**config_vars) |
328 |
| - with patch('pip.pep425tags.sysconfig.get_config_var', mock_gcf): |
329 |
| - abi_tag = pip.pep425tags.get_abi_tag() |
330 |
| - assert abi_tag == base + flags + 'u' |
331 |
| - |
332 |
| - # On Python >= 3.3, UCS-4 is essentially permanently enabled, and |
333 |
| - # Py_UNICODE_SIZE is None. SOABI on these builds does not include the |
334 |
| - # 'u' so manual SOABI detection should not do so either. |
335 |
| - config_vars.update({'Py_UNICODE_SIZE': None}) |
336 |
| - mock_gcf = self.mock_get_config_var(**config_vars) |
337 |
| - with patch('pip.pep425tags.sysconfig.get_config_var', mock_gcf): |
338 |
| - abi_tag = pip.pep425tags.get_abi_tag() |
339 |
| - assert abi_tag == base + flags |
| 321 | + if sys.version_info < (3, 3): |
| 322 | + config_vars.update({'Py_UNICODE_SIZE': 2}) |
| 323 | + mock_gcf = self.mock_get_config_var(**config_vars) |
| 324 | + with patch('pip.pep425tags.sysconfig.get_config_var', mock_gcf): |
| 325 | + abi_tag = pip.pep425tags.get_abi_tag() |
| 326 | + assert abi_tag == base + flags |
| 327 | + |
| 328 | + config_vars.update({'Py_UNICODE_SIZE': 4}) |
| 329 | + mock_gcf = self.mock_get_config_var(**config_vars) |
| 330 | + with patch('pip.pep425tags.sysconfig.get_config_var', mock_gcf): |
| 331 | + abi_tag = pip.pep425tags.get_abi_tag() |
| 332 | + assert abi_tag == base + flags + 'u' |
| 333 | + |
| 334 | + else: |
| 335 | + # On Python >= 3.3, UCS-4 is essentially permanently enabled, and |
| 336 | + # Py_UNICODE_SIZE is None. SOABI on these builds does not include |
| 337 | + # the 'u' so manual SOABI detection should not do so either. |
| 338 | + config_vars.update({'Py_UNICODE_SIZE': None}) |
| 339 | + mock_gcf = self.mock_get_config_var(**config_vars) |
| 340 | + with patch('pip.pep425tags.sysconfig.get_config_var', mock_gcf): |
| 341 | + abi_tag = pip.pep425tags.get_abi_tag() |
| 342 | + assert abi_tag == base + flags |
340 | 343 |
|
341 | 344 | def test_broken_sysconfig(self):
|
342 | 345 | """
|
|
0 commit comments