Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
PUP 4.6.0
-
None
-
None
-
-
2
-
Client 2016-08-24
-
Bug Fix
-
Corrective change calculation is now more robust when properties have complex munge and validate methods
Description
Currently, corrective change uses the "correct" should readers/writers for property values. Unfortunately, properties may have munge and unmunge implementations that are not symmetrical, and in some cases this can cause both should= and validate to fail for those types.
If we update corrective_change to be a bit more aggressive when inspecting property values, we can avoid the entire munge/unmunge/validate dance, and simply inject data directly into the property in exactly the same form that we pull it out.
This may causes issues if internal representations of data change between versions of properties, but corrective change reporting is already likely to be flaky in those cases.