340 Commits

Author SHA1 Message Date
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
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>
2018-07-29 09:23:12 +00:00
Niels Thykier
63c867995b write_heidi: Accept a target suite instead of sources+packages
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
609bb9e960 Make migration and undo code suite agnotisc
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
382ced2a68 Make write_excuses suite agnostic
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
9a5c0c3fa8 Rewrite old_libraries to be suite agnostic
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
64d2bc4203 builder.py: Make the code suite agnostic
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
f464baa257 Move the "binary" field from Britney to Suite
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
73f4f3a5dd Suites now have a reference to sources
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
d1350606bb Use a proper Suite object for MigrationItem.suite
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
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>
2018-07-29 09:23:12 +00:00
Niels Thykier
b63ade583c Rename and turn SuiteInfo into a proper class
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
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>
2018-07-29 09:23:12 +00:00
Niels Thykier
37f02d611c Revert "Rename autopkgtest related hints"
This reverts commit a07fa9f9070fc9c328021db5cc3e4c4f3063798e.

The new names are just as unhelpful and confusing as the old ones.
Undo for now.
2018-07-25 18:17:36 +00:00
Niels Thykier
a07fa9f907 Rename autopkgtest related hints
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-25 16:51:03 +00:00
Paul Gevers
bfa5c9f191
Don't show excuses for packages that are PASS, NEUTRAL, RUNNING-ALWAYSFAIL or ALWAYSFAIL 2018-07-25 18:06:29 +02:00
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.
2018-07-21 13:21:39 +02:00
Paul Gevers
624b185ba6
autopkgtest: enable NEUTRAL state for the case where all tests were skipped (or none available)
Closes: #901847
2018-07-21 13:21:39 +02:00
Paul Gevers
8bbe112735
Rephrase 'Always failed' as it is confusing in Debian 2018-07-21 10:28:17 +02:00
Niels Thykier
d11152b366 Remove the "valid candidate"/"Not considered" messages
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-21 07:48:33 +00:00
Niels Thykier
5dd4a5141c Avoid explicit state in non-actionable excuses
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-21 07:48:10 +00:00
Niels Thykier
e51a3b91ff autopkgtest.py: Avoid unnecessary indirection
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-06 06:51:47 +00:00
Niels Thykier
a344a9b375 Rewrite handling of logging old libraries
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-02 18:41:30 +00:00
Niels Thykier
3d05b834ad Refactor logging of uninst
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-02 18:41:25 +00:00
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>
2018-04-29 07:19:02 +00:00
Niels Thykier
92817767b6 Merge remote-tracking branch 'github/autopkgtest' 2018-04-29 07:12:54 +00:00
Paul Gevers
a4d0c4a854
Don't start the tests before arch:all has been build (if applicable) 2018-04-25 21:50:46 +02:00
Paul Gevers
022d6ed564
Packages need passing tests on all tested architectures to receive the bounty 2018-04-16 21:37:30 +02:00
Paul Gevers
7e8ec20bc1
Put autopkgtest state files in their own namespace 2018-04-16 20:52:24 +02:00
Paul Gevers
575993d77b
Drop some linux-meta hardcoded stuff; not in Debian and bug 779559 is fixed long time 2018-04-16 20:52:24 +02:00
Niels Thykier
d7045af2b7 Leverage defaultdict to simplify some code
Notable omissions are "pending_tests" and "tests_results".  This is
omission is due to these (some times) being initialized from the
output of "json.load" (so we cannot assume defaultdict semantics
without manually imported the data into one).

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:25:06 +00:00
Niels Thykier
641df09570 Fix typo in a comment
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:14:24 +00:00
Niels Thykier
686721e91f Rewrite some set constructs
The first case is to avoid a creating a list, which is then converted
to a set only to throw away the list again.  Here we can just create
the set right away without a list inbetween.

The second case is "if x in [...]:" is better written as "if x in
{...}:" as sets provides faster "__contains__" (assuming you are on a
"recent enough python3", which britney is).

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:11:54 +00:00
Niels Thykier
77ec8a34f9 Optimize some hash lookups
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:11:32 +00:00
Niels Thykier
499f7d993c Move loop-invariant out of loop
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:11:02 +00:00
Niels Thykier
74fe0c8b8e Use finally to close handles from urlopen
Arguable, this is not a problem in the code as the failure case
invokes sys.exit.  However, this is more future proof as the sys.exit
may be replaced (or we may later catch another exception that is
"recoverable").

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:08:36 +00:00
Niels Thykier
2c34b70492 Remove unused import
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-15 10:07:52 +00:00
Paul Gevers
def9d81c76
Make retry URL configurable (two flavors) 2018-04-11 11:17:00 +02:00
Paul Gevers
9a28ec184b
Revert "autopkgtest: Drop retry_url from the excuses as this works different in Debian"
This reverts commit 054830d03f0a04c0306e5e71752646c2f2de2626.
2018-04-11 11:17:00 +02:00
Paul Gevers
cb716e3186
Don't excuse.force() on skiptest hint 2018-04-11 11:16:59 +02:00
Paul Gevers
6252826fad
autopkgtest: add adt_baseline = reference option
- revert most of commit adbe6d5 as checking the version in testing doesn't work
  when other packages migrate and cause regressions

- Alternative way of determining if a package is regressing, by comparison to a
  reference set. The reference set is to be created by a holy trigger that
  doesn't take packages from the base suite, but instead tests in the testing
  suite. This reference needs a retry when a package causing regression
  migrates nevertheless, e.g. due to hints or to bounty/penalty policy.
2018-04-11 11:16:59 +02:00
Niels Thykier
41978869ce Migrate solver's ad-hoc debug logging
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-03-31 07:04:35 +00:00
Niels Thykier
8eaee4309e Rewrite "self.log -> self.logger.<severity>" for autopkgtest
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-03-31 05:57:43 +00:00
Niels Thykier
f752ea4ac7 Merge branch 'master' into autopkgtest 2018-03-31 05:35:06 +00:00
Niels Thykier
32b2ee326a Use lazy evaluation of format arguments in logging
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-03-30 17:38:50 +00:00