Bug#788659: autopkgtest: Provide option to not implicitly run undeclared tests
Dominic Hargreaves
dom at earth.li
Mon Jun 15 13:32:28 UTC 2015
On Mon, Jun 15, 2015 at 07:30:34AM +0200, Martin Pitt wrote:
> Hello Dominic,
Hello,
Thank you for your reply (and indeed your prompt implementation).
> Dominic Hargreaves [2015-06-14 0:18 +0100]:
> > To allow test execution environments to discover packages which provide
> > tests, their source packages should have a ``Testsuite:`` header
> > containing ``autopkgtest`` (which is currently the only defined value).
> > Multiple values get comma separated, as usual in control files.
> >
> > My expectation having read this was that adt-run would only attempt
> > to test packages if the Testsuite header is present; however adt-run
> > actually appears to not look for this header at all;
>
> That's correct. If you run adt-run on a source tree/dsc etc., it will
> only look for debian/tests/control (or autodep8). The above is just a
> recommendation ("should") and states the reason for that.
>
> > it always processes tests for a package, including automagic test
> > suites set up by autodep8. This is probably fine in the case of
> > invoking adt-run with a single package, but not if you want to look
> > for regressions using adt-run; for example I ran it against all
> > packages I'd been rebuilding against perl 5.22, and found quite a
> > few failures which didn't appear to be related to perl 5.22 but were
> > instead tests which just didn't work.
>
> Right, we get the same on Ubuntu CI. Over time the failures pile up, I
> figure it's quite difficult for the Perl team to look at/fix all
> these.
>
> > Please could adt-run have an option to exit without running any tests
> > if the source package in question doesn't define any?
>
> So to clarify, you want an option to disable autodep8, right? If a
> source package doesn't have tests and autodep8 does not generate any
> either, then adt-run will already report "no tests in this package"
> and exit with 8. With a perl package and --no-autodep8 it would then
> do the same.
I thought about 'no autodep8', but the semantics aren't quite correct,
since a package could declare Testsuite: autopkgtest, but rely on the
autodep8 behaviour. This is in fact the common case for pkg-perl packages,
as far as I can tell.
So by 'declare tests', I was really talking about having
Testsuite: autopkgest in the control file. Sorry if that wasn't clear.
Cheers,
Dominic.
More information about the autopkgtest-devel
mailing list