Hi hackers, Recently, while writing some new TAP tests my colleague inadvertently called the command_fails() subroutine instead of command_fails_like() subroutine. Their parameters are almost the same but command_fails_like() also takes a pattern for checking in the logs. Notice if too many parameters are passed to command_fails they get silently ignored.
Because of the mistake, the tests were all bogus because they were no longer testing error messages as was the intention. OTOH, because command failure was expected those tests still would record a "pass" despite the wrong subroutine being used, so there is no evidence that anything is wrong. I wondered if the command_fails() subroutine could have done more to protect users from accidentally shooting themselves. My attached patch does this by ensuring that no "extra" (unexpected) parameters are being passed to command_fails(). It seems more foolproof. Thoughts? (make check-world passes). ====== Kind Regards, Peter Smith. Fujitsu Australia
v1-0001-Help-prevent-users-from-calling-the-wrong-functio.patch
Description: Binary data