Merge lp://staging/~cjwatson/storm/more-weakrefs into lp://staging/storm
Status: | Merged |
---|---|
Approved by: | Adam Collard |
Approved revision: | 487 |
Merged at revision: | 485 |
Proposed branch: | lp://staging/~cjwatson/storm/more-weakrefs |
Merge into: | lp://staging/storm |
Diff against target: |
143 lines (+50/-7) 4 files modified
storm/cextensions.c (+17/-4) storm/variables.py (+3/-2) tests/store/base.py (+29/-0) tests/variables.py (+1/-1) |
To merge this branch: | bzr merge lp://staging/~cjwatson/storm/more-weakrefs |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adam Collard (community) | Approve | ||
Tony Simpson (community) | Approve | ||
Review via email: mp+365639@code.staging.launchpad.net |
Commit message
Use weak references from Variable and MutableValueVar
Description of the change
Launchpad's test suite has had occasional problems for years with PostgresConnection leaks (Zope's test runner is careful about checking for GC garbage), but a combination of randomised test order and the fact that it often took hours to reach the failure on development systems even when we did manage to reproduce it meant that we had to work around it rather than fixing it properly; we've found that the problems are generally around dealing with MutableValueVar
The problem was that, when change tracking was enabled on a MutableValueVar
Looks good.
C changes look good.
Test looks a bit long but I understand it follows convention with other tests. I would add a comment as to why there needs to be an existing object in the store to get the behaviour.