Adapt %%py_dist_name to keep square brackets

So %{py3_dist foo[bar]} works as expected.

Add tests.
This commit is contained in:
Miro Hrončok 2020-07-10 15:41:39 +02:00
parent 763d24cc5c
commit 59abe832d4
3 changed files with 28 additions and 1 deletions

View File

@ -70,7 +70,7 @@
# Converts Python dist name to a canonical format
%py_dist_name() %{lua:\
name = rpm.expand("%{?1:%{1}}");\
canonical = string.gsub(string.lower(name), "%W+", "-");\
canonical = string.gsub(string.lower(name), "[^%w%[%]]+", "-");\
print(canonical);\
}

View File

@ -109,6 +109,7 @@ install -m 644 compileall2.py %{buildroot}%{_rpmconfigdir}/redhat/
%changelog
* Wed Jul 08 2020 Miro Hrončok <mhroncok@redhat.com> - 3.9-5
- Introduce %%python_extras_subpkg
- Adapt %%py_dist_name to keep square brackets
- https://fedoraproject.org/wiki/Changes/PythonExtras
* Tue Jun 16 2020 Lumír Balhar <lbalhar@redhat.com> - 3.9-4

View File

@ -3,6 +3,8 @@ import subprocess
import sys
import textwrap
import pytest
X_Y = f'{sys.version_info[0]}.{sys.version_info[1]}'
XY = f'{sys.version_info[0]}{sys.version_info[1]}'
@ -24,6 +26,30 @@ def rpm_eval(expression, fails=False, **kwargs):
return cp.stdout.strip().splitlines()
@pytest.mark.parametrize('argument, result', [
('a', 'a'),
('a-a', 'a-a'),
('a_a', 'a-a'),
('a.a', 'a-a'),
('a---a', 'a-a'),
('a-_-a', 'a-a'),
('a-_-a', 'a-a'),
('a[b]', 'a[b]'),
('Aha[Boom]', 'aha[boom]'),
('a.a[b.b]', 'a-a[b-b]'),
])
def test_pydist_name(argument, result):
assert rpm_eval(f'%py_dist_name {argument}') == [result]
def test_py2_dist():
assert rpm_eval(f'%py2_dist Aha[Boom] a') == ['python2dist(aha[boom]) python2dist(a)']
def test_py3_dist():
assert rpm_eval(f'%py3_dist Aha[Boom] a') == ['python3dist(aha[boom]) python3dist(a)']
def test_python_provide_python():
assert rpm_eval('%python_provide python-foo') == []