mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-02-12 23:17:03 +00:00
fix: don't queue unnecessary tests on i386
Recent investigations indicated that approximately 85% of all of the i386 tests run at autopkgtest.ubuntu.com are pointless. These tests are pointless for the following reason: for end users, the dependencies of an arch: all package on non-arch: all packages are satisfied by the amd64 binaries, not i386 binaries. This commit introduces a check in the `tests_for_source` function, which is the function that generates a list of tests to be requested for a src package on a specified architecture. The check itself takes the src package name, gets the list of binaries for that src package and checks to see if the architecture for all of the binaries of said src package is "all". If all the binaries are Architecture: "all", then the function returns an empty list and no tests will be requested for that src package on i386. Since it's quite hard to test britney code, the implementation is wrapped in a try except block as to avoid tracebacks blocking britney runs. The try except block should be removed once the change is considered to be stable.
This commit is contained in:
parent
5cad435a0b
commit
ac6b0c1ba7
@ -699,6 +699,22 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
reported_pkgs = set()
|
||||
|
||||
tests = []
|
||||
# We don't want to run tests for src packages on i386 if all of the binary packages
|
||||
# have Architecture: all. These are redundant for real world use cases as these deps
|
||||
# are satisfied by amd64 binaries
|
||||
try:
|
||||
if arch == "i386":
|
||||
all_binaries_arch_all = True
|
||||
for pkg_id in source_suite.sources[src]:
|
||||
if pkg_id.architecture != "all":
|
||||
all_binaries_arch_all = False
|
||||
if all_binaries_arch_all:
|
||||
self.logger.info('Source package %s has binaries which are all Architecture: all, and tests have been requested on %s, not running any tests for this src package',
|
||||
src,
|
||||
arch)
|
||||
return tests
|
||||
except Exception as e:
|
||||
self.logger.error('i386 useless autopkgtest check failed with: %s', e)
|
||||
|
||||
# gcc-N triggers tons of tests via libgcc1, but this is mostly in vain:
|
||||
# gcc already tests itself during build, and it is being used from
|
||||
|
Loading…
x
Reference in New Issue
Block a user