code: def testRollShiftMustBeScalarOrVectorRaises(self):
      # The shift should be a scalar or 1-D, checked in kernel.
      tensor = [[1, 2], [3, 4]]
      shift = array_ops.placeholder(dtype=dtypes.int32)
      axis = 1
      with self.cached_session():
          with self.assertRaisesRegex(
              errors_impl.InvalidArgumentError,
              "shift must be a scalar or a 1-D vector",
          ):
              manip_ops.roll(tensor, shift, axis).eval(
                  feed_dict={shift: [[0, 1]]}
              )
  
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 test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import manip_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 15 for calling the RollTest obj's underlying member method code with example usage: obj.testRollShiftMustBeScalarOrVectorRaises() without return types