On 14. 06. 21 20:28, Ben Beasley wrote:


On Mon, Jun 14, 2021, at 2:07 PM, Miro Hrončok wrote:
On 14. 06. 21 19:35, Benjamin Beasley wrote:
However I think we should at least strictly require a smoke test (such as
%python3 -c "import foo, foo.bar") in such cases, for reasons described below...
[…]
It’s also not clear to me why the Python guidelines should be so much stricter 
than the overall Fedora guidelines 
(https://docs.fedoraproject.org/en-US/packaging-guidelines/#_test_suites) in 
this area.

As written elsewhere in this thread, because we regularly got bitten by pure
Python packages without tests.
[…]

I tentatively agree with the idea of requiring an “import foo.bar” smoke test 
in cases where the upstream tests cannot be used, especially since 
pyproject-rpm-macros with %pyproject_buildrequires makes it much easier to add 
runtime dependencies as BR’s. (It may not always be practical to explicitly 
import all subpackages/modules in a complicated package, but even importing the 
top-level package is a good start). It would catch a large portion of the FTI 
bugs that appear in practice.

We could very well add a macro helper that imports modules from the %{buildroot} and:

 - when given positional arguments, import the given names
 - when no arguments given, imports all modules saved by %pyproject_save_files

The NodeJS packaging guidelines have a similar requirement 
(https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/#_build_testing_in_check).

Awesome requirement. Will discuss this with Petr.

Even just mandating that the runtime requirements must be BR’s 
(%pyproject_buildrequires -r or “better”) would catch most such issues at build 
time. I did this in pipx for exactly that reason.

Recently I was considering if -r shouldn't be the default (with -R or similar for opt-out). That should catch most of the fails to install issues.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to