code: def test_reshape_src_dims_arg():
      # src_dims, rel_shape, shapes, expected_out_shapes
      args = [
          (
              [0, 1],
              None,
              [[200, 300, 1], [300, 400, 1]],
              [(200, 300), (300, 400)],
          ),
          (
              [1, 2, 0],
              None,
              [[10, 20, 30], [30, 20, 10], [2, 1, 3]],
              [(20, 30, 10), (20, 10, 30), (1, 3, 2)],
          ),
          ([1], None, [[1, 2, 1], [1, 3, 1]], [(2,), (3,)]),
          ([2, -1, 1, 0], None, [[10, 20, 30]], [(30, 1, 20, 10)]),
          ([-1, 2], None, [[1, 1, 30], [1, 1, 70]], [(1, 30), (1, 70)]),
          (
              [2, 0, 1],
              [0.5, 0.5, -1],
              [[200, 300, 100]],
              [(50, 100, 1200)],
          ),
          ([], None, [[1]], [()]),
      ]
      for src_dims, rel_shape, shapes, expected_out_shapes in args:
          yield _testimpl_reshape_src_dims_arg, src_dims, rel_shape, shapes, expected_out_shapes
          if rel_shape is not None:
              yield _testimpl_reshape_src_dims_arg, src_dims, rel_shape, shapes, expected_out_shapes
  
imports: from nvidia.dali.pipeline import Pipeline
  from nvidia.dali import pipeline_def
  import nvidia.dali.fn
  import nvidia.dali.ops
  import nvidia.dali.types
  import numpy
  from numpy.testing import assert_array_equal
  import os
  from nose_utils import assert_raises
  from nose2.tools import params
label_desc: Use image node_id 20 for calling a global function with example usage: test_reshape_src_dims_arg() without return types