Strip tildes from %version in %pypi_source by default, add tests

This commit is contained in:
Miro Hrončok 2020-05-11 19:02:37 +02:00
parent d0885c1ed6
commit eb50d8e147
3 changed files with 57 additions and 2 deletions

View File

@ -93,7 +93,7 @@
# Accepts zero to three arguments:
# 1: The PyPI project name, defaulting to %srcname if it is defined, then
# %pypi_name if it is defined, then just %name.
# 2: The PYPI version, defaulting to %version.
# 2: The PYPI version, defaulting to %version with tildes stripped.
# 3: The file extension, defaulting to "tar.gz". (A period will be added
# automatically.)
# Requires %__pypi_url and %__pypi_default_extension to be defined.
@ -120,7 +120,7 @@
\
-- If no second argument, use %version
if ver == '%2' then
ver = rpm.expand('%version')
ver = rpm.expand('%version'):gsub('~', '')
end
\
-- If no third argument, use the preset default extension

View File

@ -83,6 +83,7 @@ install -m 644 %{SOURCE5} \
* Wed May 20 2020 Miro Hrončok <mhroncok@redhat.com> - 3-57
- Implement %%py_provides
- Implement %%pytest
- Strip tildes from %%version in %%pypi_source by default
* Tue Apr 28 2020 Miro Hrončok <mhroncok@redhat.com> - 3-56
- Make pythonX-rpm-macros depend on python-rpm-macros (#1827811)

View File

@ -91,3 +91,57 @@ def test_pytest_passes_options_naturally():
def test_pytest_different_command():
lines = rpm_eval('%pytest', __pytest='pytest-3')
assert 'pytest-3' in lines[-1]
def test_pypi_source_default_name():
url = rpm_eval('%pypi_source',
name='foo', version='6')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6.tar.gz'
def test_pypi_source_default_srcname():
url = rpm_eval('%pypi_source',
name='python-foo', srcname='foo', version='6')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6.tar.gz'
def test_pypi_source_default_pypi_name():
url = rpm_eval('%pypi_source',
name='python-foo', pypi_name='foo', version='6')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6.tar.gz'
def test_pypi_source_default_name_uppercase():
url = rpm_eval('%pypi_source',
name='Foo', version='6')[0]
assert url == 'https://files.pythonhosted.org/packages/source/F/Foo/Foo-6.tar.gz'
def test_pypi_source_provided_name():
url = rpm_eval('%pypi_source foo',
name='python-bar', pypi_name='bar', version='6')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6.tar.gz'
def test_pypi_source_provided_name_version():
url = rpm_eval('%pypi_source foo 6',
name='python-bar', pypi_name='bar', version='3')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6.tar.gz'
def test_pypi_source_provided_name_version_ext():
url = rpm_eval('%pypi_source foo 6 zip',
name='python-bar', pypi_name='bar', version='3')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6.zip'
def test_pypi_source_prerelease():
url = rpm_eval('%pypi_source',
name='python-foo', pypi_name='foo', version='6~b2')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6b2.tar.gz'
def test_pypi_source_explicit_tilde():
url = rpm_eval('%pypi_source foo 6~6',
name='python-foo', pypi_name='foo', version='6')[0]
assert url == 'https://files.pythonhosted.org/packages/source/f/foo/foo-6~6.tar.gz'