106 Commits

Author SHA1 Message Date
Iain Lane
113e197efa autopkgtest: Handle 'blacklisted' version
The apt version comparison sorts 'blacklisted' greater than most version
numbers, which means that we accidentally apply force hints for version
'blacklisted' to all uploads. Since this is the only case of a hacked
version number, let's special case it so that 'blacklisted' hints only
match packages with 'blacklisted' version.
2020-07-26 13:50:56 +01:00
Iain Lane
e944f23834 autopkgtest: store the submission time when making requests
This is so that we can see more easily see if requests are stuck
2020-07-26 13:50:56 +01:00
Iain Lane
77ee66fcb3 Repair requests without testpkg-version
We're supposed to synthesise an "unknown" version for these, but a bug
in the worker meant we didn't do that in some cases and these leaked
into swift. Let's repair it client-side.
2020-07-26 13:50:56 +01:00
Iain Lane
ff6ba2553a autopkgtest: Publish AMQP messages persistently
We want to ask the broker to write them out to disk, hoepfully
mitigating against it crashing.
2020-07-26 13:50:56 +01:00
Iain Lane
ffbadc30cf autopkgtest: Trigger dkms when there's a dep on dkms
Most DKMS packages do not declare Testsuite: autopkgtest-pkg-dkms, but
we can detect this anyway, and this way we can enforce that the module
is buildable.
2020-07-26 13:50:56 +01:00
Iain Lane
27905ccab0
autopkgtest: Hardcode some linux-meta tests
We should really fix this to use Testsuite-Triggers / hint-testsuite-triggers
2020-07-10 21:43:07 +01:00
Paul Gevers
dc4ea6ca2c
autopkgtest: remember old results instead of discarting them
For packages with lots of reverse dependencies, new versions of those reverse
dependencies may keep on showing up in testing. If migration is blocked until
the results for these new version, migration may take extremely long. If there
are results for the current trigger but for the previous version of the reverse
dependency, use those until the fresh resuts are available.

Similar for the reference runs.
2020-05-01 21:34:30 +02:00
Paul Gevers
6e6214efe8
autopkgtest: call filter_old_results after adding triggers to avoid code duplication 2020-05-01 21:28:50 +02:00
Paul Gevers
23c79608ec
autopkgtest: make sure an item is not removed twice 2020-02-22 07:35:39 +01:00
Paul Gevers
ea6d65f657
Let britney reschedule migration-reference/0 runs when they are too old
Currently, britney only schedules reference runs when they don't exist. It does
strip out runs against older versions of the autopkgtest, but the current version
may exist for a while and the reference run can be old. So, add an option to
ignore old results.
2020-02-20 13:21:36 +01:00
Paul Gevers
aa8b84f4b8
Drop the special case that gcc has; it's just a package 2020-02-20 11:24:27 +01:00
Paul Gevers
56babea058
Don't run autopkgtest on architectures where the triggering package doesn't exist 2020-02-14 22:47:03 +01:00
Ivo De Decker
c308361fc5 autopkgtest: filter conflicting packages
We only want to add packages which conflict in testing, but don't
conflict in unstable. For those, the newer version (from unstable)
probably fixes the conflict.
2020-02-07 20:46:30 +01:00
Ivo De Decker
97c3b32f1f autpkgtest: ignore deps already satisfied in testing 2020-02-07 19:36:40 +00:00
Paul Gevers
a78b26d55d Don't block autopkgtest on uninstallable archs
Currently when a package is uninstallable on an arch, no autopkgtests for that arch are triggered
and the autopkgtest policy blocks migration. However it's not the job of the autopkgtest policy
to judge uninstallability and packages that build an arch:all package that just isn't installable
on the autopkgtest arch should not be blocked for this.

Closes: #918620
2020-01-30 18:41:39 +01:00
Paul Gevers
177b65d674
autopkgtest: also test for autodep8 for migration runs 2019-11-21 11:40:48 +01:00
Paul Gevers
b380508635
Drop dkms auto-detection for autodep8 as it isn't opt-in
Because autopkgtest failure in a package is now a serious bug (RC), packages
that don't opt-in should not be tested. Due to the way autopkgtest and autodep8
work together, package that don't declare they have an autopkgtest can still be
tested. However, maintainers should not be force to say their package doesn't
work with autodep8 by introducing a fake test.
2019-11-18 20:48:49 +01:00
Ivo De Decker
628b93b791 Make adding a failing test a regression
When there is no test in testing, and a failing test in unstable, don't
allow the package to migrate. Doing so would make it instantly RC-buggy.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-11-14 11:12:38 +00:00
Ivo De Decker
48801054a2 switch autopkgtest policy to detailed excuse info 2019-09-04 11:44:13 +00:00
Steve Langasek
df2babdd0c
Trigger linux rebuild test on upload of gcc-defaults
The update of gcc to gcc-9 introduced a regression in buildability of
anything relying on kernel headers.  This could have been caught by the
kernel's standard rebuild autopkgtest, but we currently only trigger the
linux autopkgtest for source packages named gcc-N, which excludes
gcc-defaults.

Include gcc-defaults in the list of packages that trigger a linux rebuild
test.

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1836100
2019-07-14 14:43:22 +00:00
Paul Gevers
85d10a27d2
Take suite name from Release file if it exist 2019-05-18 21:40:26 +02:00
Paul Gevers
86c728321e
autopkgtest.py: Lower the logging level for lots of messages 2019-04-13 10:39:29 +02:00
Niels Thykier
198e257a91
autopkgtest: Move cache upgrade into its own function
The intialise method is already complex enough and this was a trivial
snippet to extract to reduce the complexity a bit.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-02-11 21:27:46 +00:00
Niels Thykier
cd654183b7
autopkgtest: Extract some ("boring") loops into a function
When we convert legacy results in the autopkgtest-results.cache file,
we are only touching leaf results.  By moving the loops into a
function, we can remove 2-3 levels of ("redundant") nesting.  This in
turn makes it more clear what is relevant in the conversion.

This same also holds in save_state when we convert an Enum to a
string.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-02-11 21:05:55 +00:00
Niels Thykier
fce1fe5c27
autopkgtests: Move some common code into a function
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-02-11 21:00:13 +00:00
Paul Gevers
7611231ee2
Fix all pycodestyle issues in b/p/autopkgtest.py 2019-02-07 13:35:52 +01:00
Paul Gevers
992b27abb3
autopkgtest: retrigger old failures 2019-02-07 13:35:52 +01:00
Paul Gevers
42ac9c34a1
autopkgtest: add timestamp to results 2019-01-31 15:37:13 +01:00
Niels Thykier
f4ecd86000
Pass migration items to policies (instead of src + suite)
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-27 09:52:33 +00:00
Paul Gevers
16f823dd91 autopkgtest: in Debian we want linux to be treated as any other 2019-01-21 20:22:59 +00:00
Paul Gevers
1ca76486b5
Replace libreoffice with doxygen as the libgcc smoke test for gcc.
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1793260

Original patches by Steve Langasek
2019-01-20 21:33:30 +01:00
Niels Thykier
4eb038ab6d
autopkgtest: Move field creation into __init__
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:12:14 +00:00
Paul Gevers
1ecb07ac2d
autopkgtest: bug fix in baseline cache 2019-01-19 20:14:31 +01:00
Paul Gevers
075d4d823b
autopkgtest: fix copy() in save_state 2019-01-19 20:13:00 +01:00
Paul Gevers
c6c5c45287
autopkgtest: tiny change for easier understanding 2019-01-19 20:12:51 +01:00
Paul Gevers
d038e7bbe6
autopkgtest: simplify bin_triggers logic/naming 2019-01-19 20:12:41 +01:00
Niels Thykier
c9d523da93
Remove trailing whitespace
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:03:34 +00:00
Niels Thykier
f928c7ed3d Make SourcePackage.binaries a set
The recent code changes made use remove from the "binaries" field in
SourcePackages.  Lists are not particularly optimized for this kind
of removal and we have a few source packages with a lot of binary
packages (e.g. libreoffice, gcc-X-cross{,-ports}) that might trip
poor performance.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-14 13:19:05 +00:00
Ivo De Decker
d0b5cc2ce1 Rename apply_policy to apply_src_policy
apply_src_policy expects an excuse with a new source and binaries. It doesn't
apply to srcarch excuses, which only have new binaries for an existing source.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-01 18:28:27 +00:00
Niels Thykier
dd3dcf818f
Mark a regex pattern as a raw string
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-12-29 04:46:55 +00:00
Niels Thykier
65b67e763c
Replace the use of inst_tester with new suite functionality
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-11 09:38:20 +00:00
Niels Thykier
0a669461ca
Separate inst_tester from universe
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-11 09:38:12 +00:00
Niels Thykier
6c5300d873
Unfold the suite.binaries tuple into two members
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-10-25 18:34:41 +00:00
Niels Thykier
99a35a2986
autopkgtest.py: Update previous commit to match recent changes
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-10-01 19:46:43 +00:00
Iain Lane
c09a229dc9
autopkgtest: Run gcc-n's testuite, if it has one 2018-10-01 19:22:29 +00:00
Paul Gevers
18633e275c
autopkgtest: figure out which packages from unstable are needed
Currently autopkgtest tries to install our trigger from unstable and the rest
from testing. If that fails, than autopkgtest has a fall-back to allow all
packages from unstable to be installed. This has two severe issues:

1) the version of the test and the package it came from may be out-of-sync

2) too much from unstable may be installed, even stuff that should not/is not
allowed to migrate as it breaks stuff.

Make sure that test depends also get added to triggers if they are broken.
E.g. imagine the following scenario: trigger X changes (breaks) the output
generated by Y. Package Z has Y in the test dependencies and compares the
output in the autopkgtest. We want to have the opportunity that a new version
is automatically fixing the situation.

Two use cases are currently unsupported: needs-build (autopkgtest restriction)
and test dependencies generated by autodep8.
2018-09-05 21:37:23 +02:00
Paul Gevers
20a64cadef
Process space separated triggers individually 2018-08-30 16:11:24 +02:00
Niels Thykier
1d45b2a3b2 Move autopkgtest specific field to Autopkgtest policy
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-07 19:28:25 +00:00
Paul Gevers
0868962ee3
autopkgtest: Ignore triggers without a forward slash
They are manual triggers in the name of britney, most likely by mistake (but
those happen).

Closes: #905600
2018-08-07 08:47:25 +02:00
Niels Thykier
8e9e099a67 BasePolicy: Make an easy accessor for state_dir
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-05 07:03:44 +00:00