Test failures raise an exception in the main thread, and do not shut the pools down. On my machine, this hangs up the entire test suite. By using self.pool() to create pools, we get automatic shutdowns regardless of test pass/failure.