Add new module autopkgtest.py with the logic for determining the tests for a
source package, requesting tests via AMQP, fetching results from swift, and
keeping track of pending tests between run. This also caches the downloaded
results from swift, as re-dowloading them all is very expensive.
Integrate this into britney.py:
* In should_upgrade_src(), check whether a package is built everywhere and
installable (run_autopkgtest), and good enough to run autopkgtests for it
and its reverse dependencies.
* In write_excuses(), generate test requests for all excuses and create blocks
for those that cause test regresssions.
This introduces two new hints:
* force-badtest pkg/ver: Failing results for that package will be ignored.
This is useful to deal with broken tests that get imported from Debian or
are from under-maintained packages, or broke due to some infrastructure
changes. These are long-lived usually.
* force-skiptest pkg/ver: Test results *triggered by* that package (i. e.
reverse dependencies) will be ignored. This is mostly useful for landing
packages that trigger a huge amount of tests (glibc, perl) where some tests
are just too flaky to get them all passing, and one just wants to land it
after the remaining failures have been checked. This should be used rarely
and the hints should be removed immediately again.
Add integration tests that call britney in various scenarios on constructed
fake archives, with mocked AMQP and Swift results.
- use relative paths
- set Ubuntu architectures
- make all output files series specific
- mark -proposed as a partial suite
- set mindays to 0 for all urgencies
- drop tpu and pu
- disable smooth updates
- disable removals of obsolete source packages
- disable components, using old merged package lists for now
Possibly, Britney should support this somewhat more gracefully. But
start with this work around for now.
Signed-off-by: Niels Thykier <niels@thykier.net>
Done as kFreeBSD is not a release architecture and it has started to
block migration of release related changes. I have kept it out of
"BREAK_ARCHES" as I do not yet see a reason to add it there.
Signed-off-by: Niels Thykier <niels@thykier.net>
No longer necessary during the freeze, since they'll need an unblock
anyway, at which point age can be adjusted as well if necessary.
This reverts commit 6891fa39f6.
Signed-off-by: Julien Cristau <jcristau@debian.org>
As agreed in the Jessie timetable, mandatory 10-day
ageing is in place for the freeze, starting today.
Signed-off-by: Jonathan Wiltshire <jmw@debian.org>
Setting SMOOTH_UPDATES to a string which is neither a valid section
name (nor the magic string "ALL") should allow removal of old libraries
to continue without any new smooth updated libraries being accepted.
An empty SMOOTH_UPDATES would also stop removals from occurring.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
This ensures that changes to HELPERS (e.g. the addition of udeb hints)
automatically propagate to the relevant users