code: def testMapDefunWithParentCancellation(self):
      # Checks that a cancellation of the parent graph is threaded through to
      # MapDefunOp correctly.
      @def_function.function(
          input_signature=[tensor_spec.TensorSpec([], dtypes.int32)]
      )
      def simple_fn(x):
          del x
          queue = data_flow_ops.FIFOQueue(10, dtypes.int32, ())
          # Blocking
          return queue.dequeue_many(5)
  
      c = constant_op.constant([1, 2, 3, 4, 5])
      map_defun_op = map_defun.map_defun(
          simple_fn, [c], [dtypes.int32], [()]
      )[0]
  
      with self.cached_session() as sess:
          thread = self.checkedThread(
              self.assert_op_cancelled, args=(map_defun_op,)
          )
          thread.start()
          time.sleep(0.2)
          sess.close()
          thread.join()
  
imports: import time
  from absl.testing import parameterized
  from tensorflow.python.client import session
  from tensorflow.python.data.experimental.ops import map_defun
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import check_ops
  from tensorflow.python.ops import data_flow_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import sparse_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 15 for calling the MapDefunTest obj's underlying member method code with example usage: obj.testMapDefunWithParentCancellation() and returns: queue