[Bug 2304063] Review Request: python-zarr-checksum - Algorithms for calculating a zarr checksum against local or cloud storage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2304063

Sandro <gui1ty@xxxxxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |fedora-review?
           Assignee|nobody@xxxxxxxxxxxxxxxxx    |gui1ty@xxxxxxxxxxxxx
           Doc Type|---                         |If docs needed, set a value
                 CC|                            |gui1ty@xxxxxxxxxxxxx
             Status|NEW                         |ASSIGNED



--- Comment #2 from Sandro <gui1ty@xxxxxxxxxxxxx> ---
It seems Fedora Review Service [1] is broken again. But since you have
fedora-review enabled in your Copr repo, let's not worry about that.

The spec file looks good. Extra points for using forge macros [2]. However, the
tests (%check) need some attention. You mention:

# required for pyproject_checkimport
BuildRequires:  python3dist(pytest)

That's not entirely true. Without `pytest` you'll get the following error:

  File
"/builddir/build/BUILD/python-zarr-checksum-0.4.2-build/BUILDROOT/usr/lib/python3.13/site-packages/zarr_checksum/tests/test_checksum.py",
line 1, in <module>
    import pytest
ModuleNotFoundError: No module named 'pytest'

That's because `%pyproject_check_import` is trying to import a test. Tests
should be excluded from the wheel, so they do not get installed. But that's a
packaging error upstream. We deal with that later.

You can exclude certain modules from the import check passing `-e` and a glob.
See [3] for details. If you do that correctly, the import check will no longer
require `pytest`.

However, running the tests with `%tox` will require `pytest`. Right now you are
not actually running tests:

+ TOX_TESTENV_PASSENV='*'
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g
-grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64
-mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
-fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer '
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes '
+
PATH=/builddir/build/BUILD/python-zarr-checksum-0.4.2-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+
PYTHONPATH=/builddir/build/BUILD/python-zarr-checksum-0.4.2-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-zarr-checksum-0.4.2-build/BUILDROOT/usr/lib/python3.13/site-packages
+ PYTHONDONTWRITEBYTECODE=1
+ PYTEST_ADDOPTS='
--ignore=/builddir/build/BUILD/python-zarr-checksum-0.4.2-build/zarr_checksum-0.4.2/.pyproject-builddir'
+ PYTEST_XDIST_AUTO_NUM_WORKERS=2
+ HOSTNAME=rpmbuild
+ /usr/bin/python3 -m tox --current-env -q --recreate -e py313
  py313: OK (0.01 seconds)
  congratulations :) (0.06 seconds)

You should see some test results here.

Upstream defines tox environments in `tox.ini` [4] for various purposes. We are
only interested in the tests. For each environment dependencies (extras) and
jobs (commands) are defined. For the RPM macros to handle those dependencies,
you need to pass the environment to `%pyproject_buildrequires` [5]. That
environment will also be used by `%tox` for executing the associated jobs.

A word of caution, though. Quite often upstream likes to run linters and other
jobs using `tox` as well. We are only interested in tests downstream. Thus it
quickly becomes easier to run the tests directly using `%pytest`. In this case,
however, using `%tox` works well.

Once you have made the required changes, please post updated 'Spec URL' and
'SRPM URL' in a new comment. You don't need to add 'Description' and 'Fedora
Account System Username' again.

[1] https://github.com/FrostyX/fedora-review-service
[2] I very much like using them rather than having to fiddle with URLs myself.
[3]
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#py3_check_import
[4] https://github.com/dandi/zarr_checksum/blob/master/tox.ini
[5]
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#pyproject_buildrequires


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2304063

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202304063%23c2

-- 
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux