Considering using --needs-internet=try in autopkgtest
Iain Lane
laney at ubuntu.com
Thu Jan 14 09:35:52 UTC 2021
As background, our autopkgtest workers can only access the wider
internet via a http/s proxy. DNS resolution also works, but other
services most likely will not.
A while ago I advised some folks to make a test 'skippable', where it
was trying to access resources that couldn't be accessed due to this.
This patch was duly forwarded to the Debian maintainer - thanks - as
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969057
you can read that log for the full discussion, but the tl;dr is that
they feel that the "needs-internet" restriction which is already present
in the package should cover this case.
I've got to say that I am kind of convinced by that.
README.package-tests.rst says:
The test needs unrestricted internet access
and also
If a test does use the internet outside of the pre-configured apt
domain, the test must be marked with the needs-internet restriction.
Using the internet usually makes tests less reliable, so this should
be kept to a minimum. But for many packages their main purpose is to
interact with remote web services and thus their testing should
actually cover those too, to ensure that the distribution package
keeps working with their corresponding web service.
Given this, I think we're on dodgy ground asking the maintainer to make
changes. We have two choices that I can see:
* Accept that some tests which need to access external services will
fail, and we might have to hint (ignore) those failures.
* Run autopkgtest with "--needs-internet=try", which means that we run
the test but treat it as flaky if it fails.
I prefer the latter since it will result in less work for the release
team, but it does come with a caveat which is that needs-internet tests
will essentially no longer be able to fail. Given that we don't have a
restriction which expresses our particular flavour of internet access,
tests which only use http/s, and so are totally fine for us to run fully
currently, will regress in coverage. We won't be able to detect legit
failures any more.
In the medium term, if scheduled, we could try to work on a way to
express our type of internet access and then have packages use that*,
but here I'd like to limit the discussion to solutions we can implement
now, please.
Would appreciate opinions.
Cheers,
--
Iain Lane [ iain at orangesquash.org.uk ]
Debian Developer [ laney at debian.org ]
Ubuntu Developer [ laney at ubuntu.com ]
* To avoid restriction proliferation, I am thinking that parameterised
restrictions like "needs-internet=http-https-only" might be a neat way
to solve this. Just an idea right now, not discussed with autopkgtest
maintainers.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/ubuntu-release/attachments/20210114/b323788a/attachment.sig>
More information about the Ubuntu-release
mailing list