code: def test_reduce_with_promotion_with_overflow():
      reductions = ["sum", "mean"]
  
      batch_gens = [Batch3DOverflow]
      types = [
          np.uint8,
          np.int8,
          np.uint16,
          np.int16,
          np.uint32,
          np.int32,
          np.float32,
      ]
  
      rng = np.random.default_rng(1042)
      for keep_dims in [False, True]:
          for reduction_name in reductions:
              for batch_gen in batch_gens:
                  for type_id in types:
                      layout = rng.choice([None, "ABC"])
                      yield run_reduce, keep_dims, reduction_name, batch_gen, type_id, None, layout
  
imports: import nvidia.dali.fn
  from nvidia.dali.pipeline import Pipeline
  from nose.tools import nottest
  import numpy
  from test_utils import np_type_to_dali
  from nose_utils import assert_raises
label_desc: Use image node_id 13 for calling a global function with example usage: test_reduce_with_promotion_with_overflow() without return types