461 Commits

Author SHA1 Message Date
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
Niels Thykier
8bf73610ee policies: Use logger instead of "log"
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-03-30 17:11:10 +00:00
Niels Thykier
ac69b3b5c7 Migrate hint parser to fully use logging
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-03-30 17:11:10 +00:00
Niels Thykier
5e825043d3 Replace "print" logging with the "logging" module
This commit rewrites the make-shift "log" methods to use the logging
framework without requiring changes to the callers.  This will be done
in a latter commit to keep things reviewable.

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-03-30 17:11:09 +00:00
Paul Gevers
5dfde99fe6
sources is a proper class with a version method
Thank nthykier
2018-03-21 20:20:11 +01:00
Paul Gevers
c7107d1fd4
autopkgtest: rewrite processing of debci2britney data 2018-03-21 12:19:28 +01:00
Paul Gevers
12e2cb7596
autopkgtest: don't log a very much occuring ignored situation 2018-03-19 20:24:22 +01:00
Paul Gevers
67becb2aec
autopkgtest: in the final API, run_id is a number, convert it to string internally 2018-03-19 20:23:26 +01:00
Paul Gevers
d0fd1872d4
autopkgtest: give blacklisted packages a version of 'blacklisted' 2018-03-19 20:22:35 +01:00
Paul Gevers
df17112bbe
autopkgtest: ignore results without trigger 2018-03-19 19:39:33 +01:00
Paul Gevers
adbe6d5f67
autopkgtest: redefine regression, if possible, only take test results in testing into account 2018-03-15 11:38:47 +01:00
Paul Gevers
054830d03f
autopkgtest: Drop retry_url from the excuses as this works different in Debian 2018-03-15 11:38:47 +01:00
Paul Gevers
fc5eacf7d1
autopkgtest: minor change
reorder adding trigger vs removing
making two stings in the code more readable
2018-03-05 21:29:58 +01:00
Paul Gevers
d59538a514
Enable correct result file url for Debian 2018-03-05 21:09:59 +01:00
Paul Gevers
93ca29c3aa
Load the debci API status file directly 2018-03-05 21:09:59 +01:00
Paul Gevers
03292d1df4
On ci.d.n the running test page is under status/pending 2018-03-05 21:09:59 +01:00
Paul Gevers
1e022af99e
Minor enhancement of log message as in Debian a package can be in unstable without being in testing. 2018-03-05 21:09:59 +01:00
Paul Gevers
9790dbf7c2
Don't reward bounty while tests are running or are always-failed 2018-03-05 21:09:58 +01:00
Paul Gevers
44f983dc63
autopkgtest: Remove hack for gccgo-5/6 2018-03-05 21:09:50 +01:00
Paul Gevers
011e9a14b7
Merge branch 'master' into autopkgtest 2018-02-11 20:58:54 +01:00
Paul Wise
94a3136f64 Drop duplicate 'has new bugs' excuses item
The other item includes bug numbers so this one is less useful.

Closes: https://bugs.debian.org/886509
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-01-07 12:18:13 +00:00
Paul Gevers
fd03083ea5
Merge branch 'master' into autopkgtest 2017-11-28 20:19:48 +01:00
Niels Thykier
b82f4fc632 autopkgtests policy: only load amqplib if needed
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-28 18:54:11 +00:00
Niels Thykier
5c3229467a write_heidi: Include cruft arch:all packages in the output
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-19 21:47:38 +00:00
Niels Thykier
7217c22b42 get_dependency_solvers: The "foo:any" modifier can also appear in B-D relations
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-12 11:46:17 +00:00
Niels Thykier
2242821c01 BuildDependsPolicy: Add missing build_depends=True to get_dependency_solvers
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-12 11:36:35 +00:00
Niels Thykier
c195268019 piuparts: Properly discard the URL for testing
The PiupartsPolicy does not use the report URL for testing, so we do
not need to store it in memory.  Unfortunately, the logic was broken
and the discard did not happen.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-12 08:41:39 +00:00
Niels Thykier
bda39f8ca0 Support :native in build-dependency relations
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-12 07:50:49 +00:00
Niels Thykier
89765bc374 BuildDependsPolicy: Keep block_txt and block in sync
If a package had:

  Build-Depends: foo [i386], uninstallable-pkg

Then the excuses for amd64 would point to "foo [i386]" rather than
"uninstallable-pkg".

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-11 22:07:49 +00:00
Niels Thykier
ee27d7a67c Add BuildDependsPolicy to check Build-Depends(-Arch) availability
Add a new "BuildDependsPolicy" that will check the satisfiability of
the build-dependencies listed in the Build-Depends and
Build-Depends-Arch fields.  This enables gating of packages based on
missing / broken build-dependencies.

There are some limitations:

 * Build-Depends-Indep is ignored for now.  Missing or broken packages
   listed in Build-Depends-Indep will be continue to be silently
   ignored.

 * Being a policy check, it does not enforce "self-containedness" as
   a package can still migrate before a build-dependency.  However,
   this can only happen if the build-dependency is ready to migrate
   itself.  If the build-dependency is not ready (e.g. new RC bugs),
   then packages build-depending on it cannot migrate either (unless
   the version in testing satisfies there requirements).

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-11 15:49:48 +00:00