Niels Thykier
7124313aa6
Make InstallabilityTester suite agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
ced7b7b413
Refactor britney.py to use InstallabilityTester less
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0099c34d93
Refactor _read_binaries to reduce its complexity a bit
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
f547fb20b1
suiteloader: Create a _setup_architecture method
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
7efa865a04
Move Suite/Package loading into a separate class/module
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
deb9482a2f
Move parse_provides to britney2.utils
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Ivo De Decker
3828a76053
Filter out cruft in find_smooth_updateable_binaries
...
When calculating smooth updateable binaries, filter out cruft binaries from
unstable, because they will not be part of the set of packages that britney
will try to migrate to testing.
Signed-off-by: Ivo De Decker <ivodd@debian.org>
6 years ago
Ivo De Decker
f0ddfc253f
Fix parsing of migration item name for binNMU in tpu
...
The parsing of migration items should also look for the suite name in the
architecture part. This fixes the parsing for migration items like
some-src/amd64_tpu and some-src/amd64_tpu/1.0-1
Signed-off-by: Ivo De Decker <ivodd@debian.org>
6 years ago
Niels Thykier
65b67e763c
Replace the use of inst_tester with new suite functionality
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
03df891b7e
Expand the Suite interface and create a TargetSuite sub-class
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0b4f58315f
Rename a method and reduce a table to a set
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0eb8b5a201
BinaryPackageUniverse: Provde equivalent_packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
ef813bf0d8
Let the BinaryPackageUnvierse track broken packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
8867ef0cf9
Let the BinaryPackageUniverse track essential packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
07a407e810
Partly separate the solver from the inst_tester
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
c0ecdd82fb
Remove now redundant APIs from the InstallabilityTester
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0a669461ca
Separate inst_tester from universe
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
35b06ee007
tests: Separate inst_tester from universe
...
This commit updates the test suite to use the BinaryPackageUniverse
instead of the InstallabilityTester where that makes sense. The rest
of Britney has yet to be updated except where absolutely necessary (as
that will come in a later commit).
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
d557610c6f
BinaryPackageUniverse: Implement packages_equivalent_to()
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
530db5d3f7
Extract a BinaryPackageUniverse from the InstallabilityTester
...
The InstallabilityTester is suffering from a lack of clear purpose
because it serves multiple. This commit extracts most of one of these
purposes into the BinaryPackageUniverse class while retaining the
original API of the InstallabilityTester.
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
32def47991
Fix typo in doc string
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
b37575f000
Stop creating some throw-away data-structures for a method call
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
f86cda97da
inst_tester: Improve doc string/argument name
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
7bcbcb6282
Make clone_nuninst able to fully deep clone nuninst
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
6c5300d873
Unfold the suite.binaries tuple into two members
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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>
6 years ago
Niels Thykier
99a35a2986
autopkgtest.py: Update previous commit to match recent changes
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Iain Lane
c09a229dc9
autopkgtest: Run gcc-n's testuite, if it has one
6 years ago
Niels Thykier
880a614b2b
britney: Extract a find_smooth_updateable_binaries function
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
c4931fb1b2
solver: Move a common variable out of an if
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
1e46965924
inst/builder.py: Split function in three to reduce indentation levels
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
dd5211d55a
inst-tester: Add missing element to a set
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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>
6 years ago
Niels Thykier
cd1f384012
inst-tester: Remove obsolete "safe-set" optimization
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
95b945d2b3
inst-tester: Remove obsolete optimization
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0690a85fe0
excuse: Avoid some unnecessary throw-away tuples
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
bd1a0ea000
excuse: Fix some minor style/pep8 issues
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
41f4b43f2c
excuse.p: Refactor some duplicated code
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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.
6 years ago
Paul Gevers
713b98ad6b
inst_tester: add is_pkg_in_testing
6 years ago
Paul Gevers
20a64cadef
Process space separated triggers individually
6 years ago
Niels Thykier
b6888c2716
test-builder: Avoid allocating empty throw-away lists on empty relations
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
373f7f51f3
inst-builder: Avoid some hash-look ups by doing them early
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
35add7cb26
Move loop-invariant out of loop
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
02001d4d4f
inst-builder: Loop over values instead of keys + hash-lookup
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0446ead9e8
inst-builder: Replace RelationBuilder with a set_relations method
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
ab6b2ef953
inst-builder: Refactor to bulk adding dependency clauses
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
bc1d3afa38
inst-builder: Make add_breaks a bulk call
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
6f97e36477
inst-builder: Split relation loop and optimize conflicts
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
6a3d100b92
Fix error format string error in AssertionError
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
fc834624fc
Avoid some unnecessary hash look ups
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
74c728bf91
Make the tab-completer suite agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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>
6 years ago
Niels Thykier
1623828a48
SourcePackage: Add field for Build-Depends-Indep
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
8753649e54
Replace a for-loop with any()
6 years ago
Niels Thykier
1d45b2a3b2
Move autopkgtest specific field to Autopkgtest policy
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Mathieu Trudel-Lapierre
8d2cabd914
Add 'unsatisifiable dependencies' to YAML excuses
...
Cherry-Pick: 80bf9060de
Cherry-Pick: f32907acea
Cherry-Pick: 9ef496177f86b18d9f910da1360dd773b82f1fb7
Cherry-Pick: b16530a37d
Signed-off-by: Niels Thykier <niels@thykier.net>
Flatten the defaultdict(set) for unsat_deps into a standard dict for output
6 years ago
Niels Thykier
3e1da36331
excuses: Correct source field in YAML excuses
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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
6 years ago
Niels Thykier
f67fc00292
AgePolicy: Move self.options usage to constructor/initialization
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
8e9e099a67
BasePolicy: Make an easy accessor for state_dir
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
b0e193d955
Add missing @property - otherwise "verdict.is_blocked" is always True
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
36608194f8
test_policy: Add additional tests of AgePolicy
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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>
6 years ago
Niels Thykier
206d5ac5df
Fix typo in parameter
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
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.
6 years ago
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.
7 years ago
Niels Thykier
4a2fe3420a
Rewrite write_controlfiles to take a single suite as argument
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
97d707e5c0
britney: Avoid some references to britney.{sources,binaries}
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
dfbff18b5c
Remove some references to "unstable"
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
6c6b8fcb96
policies: Make policies suite name agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
54e5eb0e74
policies: Use suite class instead of suite name
...
When determining whether a policy applies to a given item, use the
suite class rather than the suite name.
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
63c867995b
write_heidi: Accept a target suite instead of sources+packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
609bb9e960
Make migration and undo code suite agnotisc
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
382ced2a68
Make write_excuses suite agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
9a5c0c3fa8
Rewrite old_libraries to be suite agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
64d2bc4203
builder.py: Make the code suite agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
f464baa257
Move the "binary" field from Britney to Suite
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
73f4f3a5dd
Suites now have a reference to sources
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
d1350606bb
Use a proper Suite object for MigrationItem.suite
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
8768e2a02a
Define a SuiteClass to classify suites
...
Into 3 categories:
* target suite ("testing")
* primary source suite ("unstable")
* additional source suites ("pu" and "tpu")
This will be useful for implementing logic working with suites without
basing it on the name of the suite.
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
b63ade583c
Rename and turn SuiteInfo into a proper class
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
e63aa05708
Add Suites to keep track of all suites
...
At the moment, it is just a glorified dict. However, we will
eventually use it to get rid of the hardcoded references to "testing"
etc. all over the code.
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
37f02d611c
Revert "Rename autopkgtest related hints"
...
This reverts commit a07fa9f907
.
The new names are just as unhelpful and confusing as the old ones.
Undo for now.
7 years ago
Niels Thykier
a07fa9f907
Rename autopkgtest related hints
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Paul Gevers
bfa5c9f191
Don't show excuses for packages that are PASS, NEUTRAL, RUNNING-ALWAYSFAIL or ALWAYSFAIL
7 years ago
Paul Gevers
0da1e4d589
autopkgtest: Drop broken reference update
...
1) the update didn't happen for all but the first
2) we don't want a package that fixes a regression in unstable to influence the
reference for another package until it actually migrates, so this updating
is flawed.
7 years ago
Paul Gevers
624b185ba6
autopkgtest: enable NEUTRAL state for the case where all tests were skipped (or none available)
...
Closes : #901847
7 years ago
Paul Gevers
8bbe112735
Rephrase 'Always failed' as it is confusing in Debian
7 years ago
Niels Thykier
d11152b366
Remove the "valid candidate"/"Not considered" messages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
5dd4a5141c
Avoid explicit state in non-actionable excuses
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
e51a3b91ff
autopkgtest.py: Avoid unnecessary indirection
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
a344a9b375
Rewrite handling of logging old libraries
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
3d05b834ad
Refactor logging of uninst
...
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
d3638cc08f
Make adt_baseline config optional
...
Given that only one value is defined ("reference"), it is a better
option to allow the config to be unset when one does not want to have
adt_baseline set to "reference".
Signed-off-by: Niels Thykier <niels@thykier.net>
7 years ago
Niels Thykier
92817767b6
Merge remote-tracking branch 'github/autopkgtest'
7 years ago
Paul Gevers
a4d0c4a854
Don't start the tests before arch:all has been build (if applicable)
7 years ago
Paul Gevers
022d6ed564
Packages need passing tests on all tested architectures to receive the bounty
7 years ago
Paul Gevers
7e8ec20bc1
Put autopkgtest state files in their own namespace
7 years ago
Paul Gevers
575993d77b
Drop some linux-meta hardcoded stuff; not in Debian and bug 779559 is fixed long time
7 years ago