[Bug 2305184] Review Request: python-dandischema - Python library for maintaining and managing DANDI metadata schemata

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

 



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

Sandro <gui1ty@xxxxxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |fedora-review?
                 CC|                            |gui1ty@xxxxxxxxxxxxx
           Assignee|nobody@xxxxxxxxxxxxxxxxx    |gui1ty@xxxxxxxxxxxxx
             Status|NEW                         |ASSIGNED



--- Comment #1 from Sandro <gui1ty@xxxxxxxxxxxxx> ---
Thanks Mithun! Continuing the journey into (Python) packaging here.

> # Running tox tests is time consuming and some need network. Allow skipping tests.
> %bcond tests 0

The comment is not entirely true. While there are many tests, they do not take
long to run. Yes, some require network. That's something we see frequently and
we have to deal with that. Allowing tests to be skipped is fine. But, by
default, they should be run.

In the zarr-checksum review I already talked about `%tox` vs. `%pytest`. This
is a good example where running tests using `%pytest` may be preferred, because
using `tox` and the associated `test` extra will pull in linters (in this case
`mypy` and `pytest-cov`), which we do not want [1].

Since `pytest` also reads `tox.ini` for configuration, you will need to modify
the `addopts` there [2]. You will also need to specify additional test modules
manually or modify the test extra in `setup.cfg` removing linters and then us
that for pulling them in (see the `-x` option of `%pyproject_buildrequires`
[3]).

Regarding tests requiring network, they are not hard to avoid in this
particular case. There's a hint [4] in `tox.ini`, but it's easily missed. It's
also helpful looking at how upstream runs tests by exploring their GitHub
workflows. There's another hint [5]. ;) I leave it to you to figure out what to
do.

I'm intentionally more general in my answers this time around, since I want you
to explore the documents and different options yourself, which will help you
understand them better. But do not hesitate to ask if you get lost or need
clarification. Happy packaging!

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
[2]
https://github.com/dandi/dandi-schema/blob/6fc16b8c0305d175873bcb9b5862ef5c6ec896c7/tox.ini#L33
[3]
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#pyproject_buildrequires
[4]
https://github.com/dandi/dandi-schema/blob/6fc16b8c0305d175873bcb9b5862ef5c6ec896c7/tox.ini#L8
[5]
https://github.com/dandi/dandi-schema/blob/master/.github/workflows/test-nonetwork.yml


-- 
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=2305184

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

-- 
_______________________________________________
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