XPost: linux.debian.bugs.dist
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
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)