Extra triggers invalidate passing test results and also may cause test failures
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Auto Package Testing |
Triaged
|
Medium
|
Unassigned |
Bug Description
Since a recent change in the autopkgtest infrastructure many additional packages are added as triggers automatically when a package is being tested in -proposed.
This can be observed at https:/
When retrying the test from update_excuses.html the extra triggers are not added, just the package trying to enter the release pocket. (Also seen on the link above.)
If the first try fails the package is stuck in -proposed until someone retries the test (or an other test is run also using that package/version).
As I understand the extra triggers are added to increase the likelihood of passing the test, but they can also be the reason for the test failing. In case the test fails requeuing the test without the extra triggers would probably be the best option since that would let regression-free packages through without manual intervention.
Letting regression-free packages without manual intervention is most likely a design goal of the Auto Package Testing project, but I can't find a good reference for that.
summary: |
- Extra triggers may cause test failures, but retrying without them could - help + Extra triggers invalidate passing test results and also may cause test + failures |
I think this is right. We should make groups out of packages that have to go in together but adding too much from -proposed can cause false results either way, if a package in proposed either breaks or fixes another one and is used in the test unnecessarily.
i.e. if A in proposed Depends B (>> release- pocket- version) , and B is in proposed too, we should add a trigger on B when running A's tests. There are real world cases where apt will not resolve the right dependencies without this. But if A also Depends C, and C is in proposed too, but the release pocket version satisfies the dependency, then we should NOT add the trigger. C could be totally broken and then we'd falsely/unfairly hold A in proposed.
I guess some testcases demonstrating the right/wrong behaviour would be a good first step, here.