unit tests for sharedptr_registry
Covers 100% of the LOC and all the expected behavior, including thread
safety.
The sharedptr_registry is made friend of the test class so that it can
synthetize race conditions. The lookup and lookup_or_create methods
set the new in_method data member before calling cond.Wait() so that
the caller knows it is waiting.
http://tracker.ceph.com/issues/5527 refs #5527
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit
6b16cd1aaaf818db0a6063f3a3ebb02eeefa3056)