Merge lp:~stub/charms/trusty/cassandra/blamejuju into lp:charms/trusty/cassandra
Status: | Rejected |
---|---|
Rejected by: | Stuart Bishop |
Proposed branch: | lp:~stub/charms/trusty/cassandra/blamejuju |
Merge into: | lp:charms/trusty/cassandra |
Diff against target: |
339 lines (+157/-68) 1 file modified
testing/amuletfixture.py (+157/-68) |
To merge this branch: | bzr merge lp:~stub/charms/trusty/cassandra/blamejuju |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adam Israel (community) | Approve | ||
Review Queue (community) | automated testing | Needs Fixing | |
Review via email: mp+283311@code.launchpad.net |
Description of the change
A provisioning failure rate of 1% means a complex test suite provisioning 50 units will fail half the time. This makes charms that have comprehensive tests look bad when compared to charms with minimal tests that are less likely to hit provisioning issues.
This branch attempts to make things fairer on the charm, skipping tests when a timeout has occurred and we detect that provisioning has failed. False negatives, where tests fail for reasons beyond our control, are a cause of major delays in landing bug fixes and improvements. Instead, I'm chosing potential false positives where a test that should fail is skipped because the cloud happened to be misbehaving. Care will need to be taken when landing, to ensure a run has completed without skipped tests in the CI system. This should keep the tests green, except when the charm really is at fault, and provide a fairer guide to charm quality (although less useful for judging cloud quality).
This test fixture is shared with the PostgreSQL charm and hopefully will one day become a layer to help develop comprehensive test suites.
The output can still be rather noisy when provisioning issues hit during deployment, as amulet has installed a noisy signal handler I can't see how to override. I think tidying this up will first require amulet work.
Unmerged revisions
- 371. By Stuart Bishop
-
Skip tests and blame others on provisioning failures, rather than victimize the charm
- 370. By Stuart Bishop
-
Sync updates to amuletfixture.py from the PostgreSQL charm
This item has failed automated testing! Results available here http:// juju-ci. vapour. ws:8080/ job/charm- bundle- test-lxc/ 2276/