code: def testScanInsideWhile(self):
      def loop_cond(idx_step, *unused_args):
          return idx_step < 1
  
      def loop_body(idx_step, y):
          x = array_ops.zeros([10, 20, 30], dtype=dtypes.float32)
          x = functional_ops.scan(
              math_ops.add,
              x,
              initializer=array_ops.zeros(
                  [20, 30], dtype=dtypes.float32
              ),
              back_prop=False,
              parallel_iterations=1,
          )
  
          with ops.device("/cpu:0"):
              y = array_ops.identity(x)
  
              return idx_step + 1, y
  
      if test.is_gpu_available(cuda_only=True):
          init_y = array_ops.zeros([10, 20, 30], dtype=dtypes.float32)
          _, y = while_loop.while_loop(
              loop_cond,
              loop_body,
              loop_vars=[0, init_y],
              back_prop=False,
              parallel_iterations=1,
          )
  
          y_v = self.evaluate(y)
          self.assertAllEqual(np.zeros([10, 20, 30]), y_v)
  
file_path: tensorflow-upstream/tensorflow/python/grappler/constant_folding_test.py
imports: import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import functional_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import while_loop
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling the ConstantFoldingTest obj's underlying member method code with example usage: obj.testScanInsideWhile() and returns: unknown, unknown,  y