Opened a launchpad to track this: https://bugs.launchpad.net/oslo.messaging/+bug/1816769 On 2/18/19, Doug Hellmann <doug at doughellmann.com> wrote: > Balázs Gibizer <balazs.gibizer at ericsson.com> writes: > >> Hi, >> >> Nova has tests that are using the oslo.messaging FakeDriver >> implementation by providing the 'fake://' transport url. The >> FakeExchangeManager keeps a class level dict of FakeExchange objects >> keyed by the communication topic[1]. This can cause that an RPC message >> sent by a test case is received by a later test case running in the >> same process. I did not find any proper way to clean up the >> FakeExchangeManager at the end of each test case to prevent this. To >> fix the problem in the nova test I did a hackish cleanup by overwriting >> FakeExchangeManager._exchanges directly during test case cleanup [2]. >> Is there a better way to do this cleanup? >> >> Cheers, >> gibi >> >> [1] >> https://github.com/openstack/oslo.messaging/blob/0a784d260465bc7ba878bedeb5c1f184e5ff6e2e/oslo_messaging/_drivers/impl_fake.py#L149 >> [2] https://review.openstack.org/#/c/637233/1/nova/tests/fixtures.py > > It sounds like we need a test fixture to manage that, added to > oslo.messaging so if the internal implementation of the fake driver > changes we can update the fixture without breaking consumers of the > library (and where it would be deemed "safe" to modify private > properties of the class). > > I'm sure the Oslo team would be happy to review patches to create that. > > -- > Doug > > -- Ken Giusti (kgiusti at gmail.com)