Path: csiph.com!news.samoylyk.net!gothmog.csi.it!bofh.it!news.nic.it!robomod From: Simon McVittie Newsgroups: linux.debian.bugs.dist,linux.debian.maint.python Subject: Bug#1077645: autodep8: should make it possible to have the coverage of both -pkg-python and -pkg-pybuild Date: Wed, 31 Jul 2024 11:10:01 +0200 Message-ID: X-Original-To: Debian Bug Tracking System X-Mailbox-Line: From debian-bugs-dist-request@lists.debian.org Wed Jul 31 09:03:10 2024 Old-Return-Path: X-Spam-Flag: NO X-Spam-Score: -1.699 Reply-To: Simon McVittie , 1077645@bugs.debian.org Resent-To: debian-bugs-dist@lists.debian.org Resent-Cc: debian-python@lists.debian.org, Debian CI team X-Debian-Pr-Message: report 1077645 X-Debian-Pr-Package: autodep8 X-Debian-Pr-Source: autodep8 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Mutt-Fcc: =.lists.debian/ X-Reportbug-Version: 13.0.1 X-Debian-User: smcv X-Debian-Message: from BTS X-Mailing-List: archive/latest/1849780 List-ID: List-URL: Approved: robomod@news.nic.it Lines: 41 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Wed, 31 Jul 2024 10:00:34 +0100 X-Original-Message-ID: Xref: csiph.com linux.debian.bugs.dist:1206419 linux.debian.maint.python:16138 Package: autodep8 Version: 0.28+nmu1 Severity: wishlist X-Debbugs-Cc: debian-python@lists.debian.org Affects: pybuild-plugin-autopkgtest autodep8 has two modes for testing Python modules: 1. "Testsuite: autopkgtest-pkg-python" generates a simple smoke-test: install python3-foo and its mandatory dependencies, run 'import foo' and assert that it succeeds. 2. "Testsuite: autopkgtest-pkg-pybuild" generates a more elaborate test: install python3-foo and also the build-dependencies of the source package, and attempt to run the upstream test suite against the installed python3-foo. This must install the full build-dependencies, because in general the upstream test suite will require additional packages beyond the mandatory dependencies of python3-foo: either test infrastructure like pytest, or dependencies of optional features. For example python3-tap `Recommends: python3-more-itertools, python3-yaml`, but does not depend on them, because they are only needed for some (rare) features; but running the upstream test suite *requires* those extra modules. The Python team is discussing making (2.) mandatory, or at least strongly recommended. However, for packages that are already using (1.), this loses some test coverage: we would no longer be verifying that the package's mandatory dependencies are enough to import it! Ideally we would have a way to do (1.) *and* (2.). Perhaps Testsuite: autopkgtest-pkg-pybuild could generate both tests, either always or with some mechanism to opt-in? A workaround is to handle one of (1.) or (2.) automatically, and hard-code the test that would be generated by the other one into debian/tests/control (but that seems undesirable, because the whole point of autodep8 is to be able to change these generated test definitions centrally without having to re-upload every package). smcv