test/osd: Add extensive new PGBackend test harness.
The exists unittest harness for EC were limited to the functionality
that did not require bluestore, messaging or other infrastructure.
This significantly limited the testing possible in this framework.
This test harness provides this missing infrastructure:
- Multiple OSDs
- Messaging
- Single threaded event loop for consistency.
- Event loop can be single stepped or intercepted.
New test infrastructure files:
- ECPeeringTestFixture.cc/h: Test fixture for EC peering tests
- PGBackendTestFixture.cc/h: Test fixture for PGBackend tests
- EventLoop.h: Simple event loop for test message dispatch
- OSDMapTestHelpers.h: Helper functions for OSDMap test setup
New test files:
- TestBackendBasics.cc: Basic PGBackend unit tests
- TestECFailoverWithPeering.cc: EC failover tests with full peering
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>