@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator

Fix flaky subscribers policy rule unit test master

Summary: I'm about 90% sure this fixes the intermittent test failure on `testObjectSubscribersPolicyRule()` or whatever. We use `spl_object_hash()` to identify objects when passing hints about policy changes to policy rules. This is hacky, and I think it's the source of the unit test issue. Specifically, `spl_object_hash()` is approximately just returning the memory address of the object, and two objects can occasionally use the same memory address (one gets garbage collected; another uses the same memory). If I replace `spl_object_hash()` with a static value like "zebra", the test failure reproduces. Instead, sneak an object ID onto a runtime property. This is at least as hacky but shouldn't suffer from the same intermittent failure. Test Plan: Ran `arc unit --everything`, but I never got a reliable repro of the issue in the first place, so who knows. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D17029


+31 -7
2 changed files