cupy.testing.for_dtypes_combination(types, names=('dtype',), full=None)[source]#

Decorator that checks the fixture with a product set of dtypes.

  • types (list of dtypes) – dtypes to be tested.

  • names (list of str) – Argument names to which dtypes are passed.

  • full (bool) – If True, then all combinations of dtypes will be tested. Otherwise, the subset of combinations will be tested (see the description below).

Decorator adds the keyword arguments specified by names to the test fixture. Then, it runs the fixtures in parallel with passing (possibly a subset of) the product set of dtypes. The range of dtypes is specified by types.

The combination of dtypes to be tested changes depending on the option full. If full is True, all combinations of types are tested. Sometimes, such an exhaustive test can be costly. So, if full is False, only a subset of possible combinations is randomly sampled. If full is None, the behavior is determined by an environment variable CUPY_TEST_FULL_COMBINATION. If the value is set to '1', it behaves as if full=True, and otherwise full=False.