code: def testInvalidAxis(self):
      x = np.arange(0, 10).reshape([2, 5]).astype(np.float32)
      input_tensor = ops.convert_to_tensor(x)
      with self.session():
          with self.assertRaisesWithPredicateMatch(
              errors_impl.InvalidArgumentError,
              lambda e: "Expected scan axis in the range [-2, 2)"
              in str(e),
          ):
              math_ops.cumprod(input_tensor, -3).eval()
          with self.assertRaisesWithPredicateMatch(
              errors_impl.InvalidArgumentError,
              lambda e: "Expected scan axis in the range [-2, 2)"
              in str(e),
          ):
              math_ops.cumprod(input_tensor, 2).eval()
          with self.assertRaisesWithPredicateMatch(
              errors_impl.InvalidArgumentError,
              lambda e: "axis must be a scalar" in str(e),
          ):
              math_ops.cumprod(input_tensor, [0]).eval()
  
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 10 for calling the CumprodTest obj's underlying member method code with example usage: obj.testInvalidAxis() without return types