38 lines
864 B
Python
38 lines
864 B
Python
"""Assertions for Blueberry package."""
|
|
|
|
import contextlib
|
|
from typing import Iterator, Type
|
|
|
|
from mobly import signals
|
|
|
|
|
|
@contextlib.contextmanager
|
|
def assert_not_raises(
|
|
exception: Type[Exception] = Exception) -> Iterator[None]:
|
|
"""Asserts that the exception is not raised.
|
|
|
|
This assertion function is used to catch a specified exception
|
|
(or any exceptions) and raise signal.TestFailure instead.
|
|
|
|
Usage:
|
|
```
|
|
with asserts.assert_not_raises(signals.TestError):
|
|
foo()
|
|
```
|
|
|
|
Args:
|
|
exception: Exception to be catched. If not specify, catch any exceptions as
|
|
default.
|
|
|
|
Yields:
|
|
A context which may raise the exception.
|
|
|
|
Raises:
|
|
signals.TestFailure: raised when the exception is catched in the context.
|
|
"""
|
|
|
|
try:
|
|
yield
|
|
except exception as e: # pylint: disable=broad-except
|
|
raise signals.TestFailure(e)
|