The unit-tests for the watchdog could benefit from more diagnostics, in particular, logging in checks ran by WatchdogCheckThread and the deathCallback invoked by WatchdogMonitorThread. At a minimum, these logs should report the system time when running each callback.
For example, consider WatchdogMonitorTest::PauseAndResum, defined here. We can change deathCallback to capture a pointer to the monitor and report the generation numbers for the check and monitor threads, as well as the system time. The same applies to TestCounterCheck::run.
The additional diagnostics could help with debugging failures caused by the execution platform (e.g., bad OS scheduling).