-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Server Programmability
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The inflexible setup of ServiceContextTest fixtures are a persistent pain point motivating overuse of JStests instead of C++ tests.
These fixtures are doing 100 lines of work in the constructor, which is too much. It also keep derived classes from easily customizing the initialization of the service context, because they can't influence the base class constructor's behavior. Virtual functions can't be called in constructors.
Initial PoC exploration has shown that we can get promising results by shifting work from the constructor and into the setUp() function, where virtuals are available.
It's believed (and confirmed by polling) that getting more tests into C++ will speed up investigations of BFs by reducing the amount of background activity in a test, and allowing direct sharing of memory between tests and the tested units.