Consolidate parameter-based and rule-based timeout management
In this release, I refactored the implementation for parameter-based and rule-base timeout management. I refined the interactions between these two mechanisms to provide the most rational behavior. I added unit tests to verify functional coordination and updated the documentation to include details of the options and behaviors provided.
A significant enhancement provided by this release is the ability to disable timeout enforcement
locally and globally. In a test class, declaring a Timeout rule with an interval of zero (0) disables timeout enforcement for all of the tests in the class. Setting the value of the TIMEOUT_RULE
configuration option to zero (0) disables timeout enforcement entirely. This is especially useful while debugging, when extended execution times would result in test-terminating timeouts.