mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-02-10 22:17:36 +00:00
943621deb2
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.