Homec4science

Fix flaky subscribers policy rule unit test

Authored by epriestley <git@epriestley.com> on Dec 11 2016, 21:22.

Description

Fix flaky subscribers policy rule unit test

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

Details

Committed
epriestley <git@epriestley.com>Dec 11 2016, 21:27
Pushed
aubortJan 31 2017, 17:16
Parents
rPH42896f9f9044: Rename all ProfilePanels into ProfileMenuItems
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH237f94b830a4: Fix flaky subscribers policy rule unit test (authored by epriestley <git@epriestley.com>).Dec 11 2016, 21:27