code: def testStrategyRun(
      self, strategy, enable_packed_handle, tf_function
  ):
      if (
          test_util.is_tpu_strategy(strategy)
          and tf_function is combinations.no_tf_function
      ):
          self.skipTest("tpu doesn't support eager")
      v = self.create_variable(strategy, 0.0, enable_packed_handle)
  
      @tf_function
      def update(per_replica):
          v.assign(per_replica)
  
      @tf_function
      def read():
          return v.read_value()
  
      strategy.run(
          update,
          args=(test_util.create_per_replica(strategy, [1.0, 2.0]),),
      )
      self.assertReplica(v, [1.0, 2.0])
      self.assertAllEqual(
          test_util.gather(strategy, strategy.run(read)), [1.0, 2.0]
      )
  
imports: from absl.testing import parameterized
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import test_util
  from tensorflow.python.distribute import values_v2
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variables
label_desc: Use image node_id 5 for calling the DistributedVariableTest obj's underlying member method code with example usage: obj.testStrategyRun(strategy, enable_packed_handle, tf_function) and returns: v