Filibuster supports testing timeouts in a variety of ways. With our Python
driver for Python’s
requests library, if a timeout is specified at the
callsite of a remote call, Filibuster can either throw the timeout exception
immediately, wait the timeout period and then throw, or conditionally – through
the analysis file – a custom timeout can be specified that can be specified
programatically, allowing the developer to wait either slightly before the
timeout duration or wait slightly past the timeout duration. This is useful in
detecting cascading timeout failures.
For more information, see our Netflix example in the corpus, which contains a misconfigured set of nested timeouts: an outer timeout which is shorter than the inner timeout.