184 Commits

Author SHA1 Message Date
Niels Thykier
b37575f000
Stop creating some throw-away data-structures for a method call
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-01 21:30:24 +00:00
Niels Thykier
f86cda97da
inst_tester: Improve doc string/argument name
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-01 21:30:23 +00:00
Niels Thykier
7bcbcb6282
Make clone_nuninst able to fully deep clone nuninst
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-10-28 21:26:48 +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
Ivo De Decker
9c606ef533 Don't add smooth-updatable cruft to migration items
Based on patch by Niels Thykier.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2018-10-24 22:15:27 +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
Niels Thykier
880a614b2b
britney: Extract a find_smooth_updateable_binaries function
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:57:06 +00:00
Niels Thykier
c4931fb1b2
solver: Move a common variable out of an if
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:38 +00:00
Niels Thykier
1e46965924
inst/builder.py: Split function in three to reduce indentation levels
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:37 +00:00
Niels Thykier
dd5211d55a
inst-tester: Add missing element to a set
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:36 +00:00
Niels Thykier
55dd190fa6
inst-tester: Make "check" a list
Should be slightly cheaper (O(1)) than using a set.

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:35 +00:00
Niels Thykier
cd1f384012
inst-tester: Remove obsolete "safe-set" optimization
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:34 +00:00
Niels Thykier
95b945d2b3
inst-tester: Remove obsolete optimization
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:34 +00:00
Niels Thykier
0690a85fe0
excuse: Avoid some unnecessary throw-away tuples
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:33 +00:00
Niels Thykier
bd1a0ea000
excuse: Fix some minor style/pep8 issues
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:32 +00:00
Niels Thykier
41f4b43f2c
excuse.p: Refactor some duplicated code
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:31 +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
713b98ad6b
inst_tester: add is_pkg_in_testing 2018-09-05 21:27:41 +02:00
Paul Gevers
20a64cadef
Process space separated triggers individually 2018-08-30 16:11:24 +02:00
Niels Thykier
b6888c2716 test-builder: Avoid allocating empty throw-away lists on empty relations
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 14:38:36 +00:00
Niels Thykier
373f7f51f3 inst-builder: Avoid some hash-look ups by doing them early
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 14:02:29 +00:00
Niels Thykier
35add7cb26 Move loop-invariant out of loop
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 13:50:22 +00:00
Niels Thykier
02001d4d4f inst-builder: Loop over values instead of keys + hash-lookup
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 13:18:43 +00:00
Niels Thykier
0446ead9e8 inst-builder: Replace RelationBuilder with a set_relations method
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 13:06:48 +00:00
Niels Thykier
ab6b2ef953 inst-builder: Refactor to bulk adding dependency clauses
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 12:47:11 +00:00
Niels Thykier
bc1d3afa38 inst-builder: Make add_breaks a bulk call
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 12:33:09 +00:00
Niels Thykier
6f97e36477 inst-builder: Split relation loop and optimize conflicts
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 12:25:20 +00:00
Niels Thykier
6a3d100b92 Fix error format string error in AssertionError
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 12:23:35 +00:00
Niels Thykier
fc834624fc Avoid some unnecessary hash look ups
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-12 08:37:07 +00:00
Niels Thykier
74c728bf91 Make the tab-completer suite agnostic
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-09 22:59:19 +00:00
Niels Thykier
0d5c4a24c4 Handle Build-Depends-Indep in excuses
Admittedly, no policy adds them yet so this is currently no-op code.
However, future commits can start to rely on this infrastructure code.

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-08 16:18:02 +00:00
Niels Thykier
1623828a48 SourcePackage: Add field for Build-Depends-Indep
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-08 16:18:02 +00:00
Niels Thykier
8753649e54 Replace a for-loop with any() 2018-08-08 16:18:02 +00: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
Mathieu Trudel-Lapierre
8d2cabd914 Add 'unsatisifiable dependencies' to YAML excuses
Cherry-Pick: 80bf9060de6b7a7fe21f10da90f0dcc15b96ac1c
Cherry-Pick: f32907aceab7bdf37856ceef3122149c046f0ee1
Cherry-Pick: 9ef496177f86b18d9f910da1360dd773b82f1fb7
Cherry-Pick: b16530a37df93851fda35db016775056a6b0c218
Signed-off-by: Niels Thykier <niels@thykier.net>

Flatten the defaultdict(set) for unsat_deps into a standard dict for output
2018-08-07 18:55:57 +00:00
Niels Thykier
3e1da36331 excuses: Correct source field in YAML excuses
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-07 18:29:39 +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
f67fc00292 AgePolicy: Move self.options usage to constructor/initialization
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-05 07:22:04 +00: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
Niels Thykier
b0e193d955 Add missing @property - otherwise "verdict.is_blocked" is always True
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-05 06:56:53 +00:00
Niels Thykier
36608194f8 test_policy: Add additional tests of AgePolicy
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-04 20:09:03 +00:00
Niels Thykier
e88f4d2e5e AgePolicy: Explicitly ignore comment lines in data files
Currently not useful, but it enables us to write comment lines in the
test data files.

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-04 20:09:03 +00:00
Niels Thykier
206d5ac5df Fix typo in parameter
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-04 20:08:16 +00:00
Paul Gevers
c219c42804 Add text to excuses in case autopkgtest is delayed
In case autopkgtest triggering is delayed because the required builds aren't
ready yet or the package is not installable, currently there is only the
message that autopktest delays the migration, but no hint why. This commit adds
these hints.
2018-08-01 09:58:41 +00:00
Paul Gevers
08a6cdde6f Don't have britney create migration-references itself
The initial idea was to do this to bootstrap the baseline, but it turns out
that this has the drawback it triggers runs for a package that has a new
autopkgtest where it didn't have it in the version in the target suite. It was
considered harmless (as it would just have a failing reference), but due to
autodep8, package can have a passing result in the target suite while the new
autopkgtest is actually broken. Such a package should not be blocked / getting
a penalty.

The alternative is to make the check here smarter, but as this is only for
bootstrapping, lets do that outside of britney proper.
2018-07-29 14:03:41 +00:00
Niels Thykier
4a2fe3420a Rewrite write_controlfiles to take a single suite as argument
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:27:20 +00:00
Niels Thykier
97d707e5c0 britney: Avoid some references to britney.{sources,binaries}
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:27:20 +00:00
Niels Thykier
dfbff18b5c Remove some references to "unstable"
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
6c6b8fcb96 policies: Make policies suite name agnostic
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00