|
3 | 3 | import pytest
|
4 | 4 |
|
5 | 5 | from auditwheel.policy import get_arch_name, get_policy_name, \
|
6 |
| - get_priority_by_name, get_replace_platforms |
| 6 | + get_priority_by_name, get_replace_platforms, _validate_pep600_compliance |
7 | 7 |
|
8 | 8 |
|
9 | 9 | @patch("auditwheel.policy._platform_module.machine")
|
@@ -43,6 +43,59 @@ def test_replacement_platform(name, expected):
|
43 | 43 | assert get_replace_platforms(name) == expected
|
44 | 44 |
|
45 | 45 |
|
| 46 | +def test_pep600_compliance(): |
| 47 | + _validate_pep600_compliance([{ |
| 48 | + "name": "manylinux1", "priority": 100, "symbol_versions": { |
| 49 | + "i686": {"CXXABI": ["1.3"]}, |
| 50 | + }, |
| 51 | + "lib_whitelist": ["libgcc_s.so.1"] |
| 52 | + }, { |
| 53 | + "name": "manylinux2010", "priority": 90, "symbol_versions": { |
| 54 | + "i686": {"CXXABI": ["1.3", "1.3.1"]}, |
| 55 | + }, |
| 56 | + "lib_whitelist": ["libgcc_s.so.1", "libstdc++.so.6"], |
| 57 | + }]) |
| 58 | + |
| 59 | + _validate_pep600_compliance([{ |
| 60 | + "name": "manylinux1", "priority": 100, "symbol_versions": { |
| 61 | + "i686": {"CXXABI": ["1.3"]}, |
| 62 | + "x86_64": {"CXXABI": ["1.3"]}, |
| 63 | + }, |
| 64 | + "lib_whitelist": ["libgcc_s.so.1"] |
| 65 | + }, { |
| 66 | + "name": "manylinux2010", "priority": 90, "symbol_versions": { |
| 67 | + "i686": {"CXXABI": ["1.3", "1.3.1"]}, |
| 68 | + }, |
| 69 | + "lib_whitelist": ["libgcc_s.so.1", "libstdc++.so.6"], |
| 70 | + }]) |
| 71 | + |
| 72 | + with pytest.raises(ValueError, match="manylinux2010_i686.*CXXABI.*1.3.2"): |
| 73 | + _validate_pep600_compliance([{ |
| 74 | + "name": "manylinux1", "priority": 100, "symbol_versions": { |
| 75 | + "i686": {"CXXABI": ["1.3", "1.3.2"]}, |
| 76 | + }, |
| 77 | + "lib_whitelist": ["libgcc_s.so.1"] |
| 78 | + }, { |
| 79 | + "name": "manylinux2010", "priority": 90, "symbol_versions": { |
| 80 | + "i686": {"CXXABI": ["1.3", "1.3.1"]}, |
| 81 | + }, |
| 82 | + "lib_whitelist": ["libgcc_s.so.1", "libstdc++.so.6"], |
| 83 | + }]) |
| 84 | + |
| 85 | + with pytest.raises(ValueError, match="manylinux2010.*libstdc\+\+\.so\.6"): |
| 86 | + _validate_pep600_compliance([{ |
| 87 | + "name": "manylinux1", "priority": 100, "symbol_versions": { |
| 88 | + "i686": {"CXXABI": ["1.3"]}, |
| 89 | + }, |
| 90 | + "lib_whitelist": ["libgcc_s.so.1", "libstdc++.so.6"] |
| 91 | + }, { |
| 92 | + "name": "manylinux2010", "priority": 90, "symbol_versions": { |
| 93 | + "i686": {"CXXABI": ["1.3", "1.3.1"]}, |
| 94 | + }, |
| 95 | + "lib_whitelist": ["libgcc_s.so.1"], |
| 96 | + }]) |
| 97 | + |
| 98 | + |
46 | 99 | class TestPolicyAccess:
|
47 | 100 |
|
48 | 101 | def test_get_by_priority(self):
|
|
0 commit comments