Page MenuHomePhabricator

Improve UserImpact coverage: Test UserImpact::VERSION is bumped when required
Open, MediumPublic


The patch for T329700: Clean up GrowthExperiments UserImpact timezone handling broke new Impact on all Wikipedias temporarily, because the patch did not fix UserImpact::VERSION when making a backwards-incompatible change (constructor signature, to be precise). See breaking patch and fix for context.

This sort of developer error should be caught by the CI. It is, however, not 100% clear how to do that. Should we materialize UserImpact serializations in a test, and ensure they can be unpacked? How to ensure both test and constant are updated when breaking changes happen? Is there any approach that does not require manual updates upon breaking changes?