Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.5.5: pytest is failing #62

Open
kloczek opened this issue Aug 27, 2022 · 2 comments
Open

1.5.5: pytest is failing #62

kloczek opened this issue Aug 27, 2022 · 2 comments

Comments

@kloczek
Copy link

kloczek commented Aug 27, 2022

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

I'm usimg pkgconfig 1.9.3.
Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pkgconfig-1.5.5-5.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pkgconfig-1.5.5-5.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/pkgconfig-1.5.5
collected 35 items

test_pkgconfig.py F.......FF.F.F.F.F.F......F........                                                                                                                [100%]

================================================================================= FAILURES =================================================================================
_______________________________________________________________________________ test_exists ________________________________________________________________________________

    def test_exists():
        assert pkgconfig.exists(PACKAGE_NAME)
>       assert pkgconfig.exists('fake-openssl')
E       AssertionError: assert False
E        +  where False = <function exists at 0x7fc8cbfb0280>('fake-openssl')
E        +    where <function exists at 0x7fc8cbfb0280> = pkgconfig.exists

test_pkgconfig.py:12: AssertionError
________________________________________________________________________ test_openssl[1.1.0j-True] _________________________________________________________________________

version = '1.1.0j', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '1.1.0j')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
_______________________________________________________________________ test_openssl[==1.1.0j-True] ________________________________________________________________________

version = '==1.1.0j', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '==1.1.0j')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
_______________________________________________________________________ test_openssl[>= 1.1.0-True] ________________________________________________________________________

version = '>= 1.1.0', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '>= 1.1.0')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
________________________________________________________________________ test_openssl[< 1.2.0-True] ________________________________________________________________________

version = '< 1.2.0', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '< 1.2.0')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
________________________________________________________________________ test_openssl[>= 1.1-True] _________________________________________________________________________

version = '>= 1.1', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '>= 1.1')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
_________________________________________________________________________ test_openssl[< 1.2-True] _________________________________________________________________________

version = '< 1.2', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '< 1.2')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
_______________________________________________________________________ test_openssl[>= 1.1.0c-True] _______________________________________________________________________

version = '>= 1.1.0c', expected = True

    @pytest.mark.parametrize("version,expected", [
        ('1.1.0j', True),
        ('==1.1.0j', True),
        ('==1.1.0k', False),
        ('>= 1.1.0', True),
        ('> 1.2.0', False),
        ('< 1.2.0', True),
        ('< 1.1.0', False),
        ('>= 1.1', True),
        ('> 1.2', False),
        ('< 1.2', True),
        ('< 1.1', False),
        ('>= 1.1.0c', True),
        ('>= 1.1.0k', False),
        # PLEASE NOTE:
        # the letters have no semantics, except string ordering, see also the
        # comment in the test below.
        # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
    ])
    def test_openssl(version, expected):
>       assert pkgconfig.installed('fake-openssl', version) == expected
E       AssertionError: assert False == True
E        +  where False = <function installed at 0x7fc8cbfb0670>('fake-openssl', '>= 1.1.0c')
E        +    where <function installed at 0x7fc8cbfb0670> = pkgconfig.installed

test_pkgconfig.py:48: AssertionError
_____________________________________________________________________________ test_modversion ______________________________________________________________________________

    def test_modversion():
        assert pkgconfig.modversion(PACKAGE_NAME) == '3.2.1'
>       assert pkgconfig.modversion('fake-openssl') == '1.1.0j'

test_pkgconfig.py:79:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pkgconfig/pkgconfig.py:154: in modversion
    _raise_if_not_exists(package)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

package = 'fake-openssl'

    def _raise_if_not_exists(package):
        if not exists(package):
>           raise PackageNotFoundError(package)
E           pkgconfig.pkgconfig.PackageNotFoundError: fake-openssl not found

pkgconfig/pkgconfig.py:103: PackageNotFoundError
========================================================================= short test summary info ==========================================================================
FAILED test_pkgconfig.py::test_exists - AssertionError: assert False
FAILED test_pkgconfig.py::test_openssl[1.1.0j-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_openssl[==1.1.0j-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_openssl[>= 1.1.0-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_openssl[< 1.2.0-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_openssl[>= 1.1-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_openssl[< 1.2-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_openssl[>= 1.1.0c-True] - AssertionError: assert False == True
FAILED test_pkgconfig.py::test_modversion - pkgconfig.pkgconfig.PackageNotFoundError: fake-openssl not found
======================================================================= 9 failed, 26 passed in 0.98s =======================================================================

Here is list of installed modules in build env

Package            Version
------------------ --------------
attrs              22.1.0
Brlapi             0.8.3
build              0.8.0
charset-normalizer 2.1.0
codespell          2.1.0
cycler             0.11.0
distro             1.7.0
extras             1.0.0
fixtures           4.0.0
fonttools          4.37.1
gpg                1.17.1-unknown
idna               3.3
importlib-metadata 4.12.0
iniconfig          1.1.1
kiwisolver         1.4.4
libcomps           0.1.18
louis              3.22.0
MarkupSafe         2.1.1
matplotlib         3.5.3
natsort            8.0.2
numpy              1.23.1
olefile            0.46
packaging          21.3
pbr                5.9.0
pep517             0.12.0
Pillow             9.2.0
pip                22.2.1
pluggy             1.0.0
poetry-core        1.0.8
py                 1.11.0
PyGObject          3.42.2
pyparsing          3.0.9
pytest             7.1.2
python-dateutil    2.8.2
pytz               2022.1
rpm                4.17.0
six                1.16.0
testtools          2.5.0
tomli              2.0.1
typing_extensions  4.2.0
urllib3            1.26.12
wheel              0.37.1
zipp               3.8.1
@matze
Copy link
Owner

matze commented Aug 28, 2022

The test data is not published to pypi.org. Not sure if that actually makes sense because the tests are run in the CI 🤷

@kloczek
Copy link
Author

kloczek commented Aug 29, 2022

  • I'm not usiong sdist tart ball from pypi to build my packahe. I'm usimg autogenerated from gitr tag tar ball.
  • Are you sure that you are using in CI latest pkgconfig 1.9.3?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants