dependency resources get out of sync when dirtied

Bug #324202 reported by James Henstridge
2
Affects Status Importance Assigned to Milestone
testresources
Fix Released
Undecided
Unassigned

Bug Description

Assume we have a resource manager A with resource a, and a resource manager B with resource b. B lists A as a dependency, so "b.a == a".

Now lets say we have two tests that depend on both A and B and the first test marks A as dirty causing it to be cleaned and replaced with a new resource a2. When the second test runs, it will be passed the resources (a2, b), but "b.a != a2" because b was not considered dirty.

The attached test suite demonstrates the problem.

The changes suggested in bug 308876 (merge resource managers and resource objects) would solve this problem as we would no longer have separate instances for the different generations, but this could also be solved without making those changes.

Related branches

Revision history for this message
James Henstridge (jamesh) wrote :
Changed in testresources:
status: New → Fix Committed
Revision history for this message
Robert Collins (lifeless) wrote :

So I misanalysed this initially.

Making isDirty check dependent resources works, but only if they haven't already been reset. So it needs to check that the resource has changed || is dirty. Im' doing this and checking again now.

Changed in testresources:
status: Fix Committed → In Progress
Changed in testresources:
status: In Progress → Fix Committed
Changed in testresources:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.