Shard specific unit tests using ShardingMongodTestFixture should be move onto the ShardServerTestFixture, so those tests no longer duplicate the set up code that ShardServerTestFixture would do for them.
Several of these tests, which have heavy dependencies, are also being compiled into executables together with lightweight unit tests running on the unittest::Test fixture. These should be split into different executables, so the lightweight unit test build times aren't unnecessarily long.
Unit tests using ShardingMongodTestFixture and setting up shard specific subsystems:
CollectionRangeDeleterTest
MetadataManagerTest
Lightweight unit tests combined with heavyweight unit tests in a single executable:
collection_metadata_test.cpp – unittest::Test
collection_sharding_state_test.cpp – unittest::Test
active_migrations_registry_test.cpp – unittest::Test
This unit test should not include both sharding_mongod_test_fixture and shard_server_test_fixture, as the latter includes the former.