If given empty expected_msgs, assert_debug_log will return quickly without actually checking
much. This is dangerous if unexpected_msgs IS set, as the test will appear to pass when it hasn't.
The alternative is to reimplement this function so that it will wait for unexpected messages
when no expected messages are set, but running out the timeout does not seem like robust way to
do this. It's better to give assert_debug_log a "target" to hit and then check to make sure
we don't hit any explicit "non-targets" along the way.