Merge lp://staging/~canonical-platform-qa/britney/tests into lp://staging/~ubuntu-release/britney/britney2-ubuntu
Status: | Merged |
---|---|
Approved by: | Colin Watson |
Approved revision: | 408 |
Merged at revision: | 397 |
Proposed branch: | lp://staging/~canonical-platform-qa/britney/tests |
Merge into: | lp://staging/~ubuntu-release/britney/britney2-ubuntu |
Diff against target: |
451 lines (+446/-0) 1 file modified
tests/autopkgtest.py (+446/-0) |
To merge this branch: | bzr merge lp://staging/~canonical-platform-qa/britney/tests |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Colin Watson (community) | Approve | ||
Review via email: mp+207982@code.staging.launchpad.net |
Description of the change
Add tests and reproduce some important bugs
This reproduces two bugs which we've recently encountered, and an additional
one which came up when writing the tests:
* If a new source builds an existing binary, britney ignores all autopkgtests.
This is what caused the "break trusty" disaster when uploading gccgo-4.9
which built an empty/broken libgcc1.
* Britney requests autopkgtest runs for uninstallable packages, causing
needless test failures and manual intervention to re-try packages once they
become installable again.
* Britney does not cross-check the version number that a test was run with,
and just applies the test result to the currently pending version. This
hasn't demonstrably caused any ill effect in practice as adt-britney should
already ensure that the requested version was tested. It might be a good
idea to verify this anyway though, for robustness.
Simply run the tests with "tests/
building lib, and creating the britneymodule.so -> lib/britneymodu
> * If a new source builds an existing binary, britney ignores all autopkgtests.
> This is what caused the "break trusty" disaster when uploading gccgo-4.9
> which built an empty/broken libgcc1.
While the actual bug is still there somewhere (it did happen, after all), these tests don't reproduce that unfortunately. Turned out the failures were due to a copy&paste error, fixed in r406. They pass now.