Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #16138 > unrolled thread

Bug#1077645: autodep8: should make it possible to have the coverage of both -pkg-python and -pkg-pybuild

Started bySimon McVittie <smcv@debian.org>
First post2024-07-31 11:10 +0200
Last post2024-07-31 12:10 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.debian.maint.python


Contents

  Bug#1077645: autodep8: should make it possible to have the coverage of both -pkg-python and -pkg-pybuild Simon McVittie <smcv@debian.org> - 2024-07-31 11:10 +0200
    Bug#1077645: autodep8: should make it possible to have the coverage of both -pkg-python and -pkg-pybuild Simon McVittie <smcv@debian.org> - 2024-07-31 12:10 +0200

#16138 — Bug#1077645: autodep8: should make it possible to have the coverage of both -pkg-python and -pkg-pybuild

FromSimon McVittie <smcv@debian.org>
Date2024-07-31 11:10 +0200
SubjectBug#1077645: autodep8: should make it possible to have the coverage of both -pkg-python and -pkg-pybuild
Message-ID<J6dvj-1HcX-7@gated-at.bofh.it>
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

[toc] | [next] | [standalone]


#16139

FromSimon McVittie <smcv@debian.org>
Date2024-07-31 12:10 +0200
Message-ID<J6ehH-1Htw-1@gated-at.bofh.it>
In reply to#16138
On Wed, 31 Jul 2024 at 10:00:34 +0100, Simon McVittie wrote:
> Ideally we would have a way to do (1.) *and* (2.).

It looks as though
"Testsuite: autopkgtest-pkg-python, autopkgtest-pkg-pybuild"
is meant to do that, but doesn't currently work (#1042717 and/or #1061620).

    smcv

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web