Details
Description
In the test framework, because we're managing the lifecycle of external processes we're dependent on, it seems like it is possible to start saslauthd, but for saslauthd to not have fully started by the time MongoDB has started. To fix this, we should use runProgram, which will return once saslauthd has doubleforked, instead of _startMongoProgram which returns immediately. Then, we should repeatedly check for the existence of saslauthd's socket file. If the socket file exists, we have a good guarantee that saslauthd is running.