code: def test_pipeline_variadic():
      accumulator = Accumulate()
      pipeline = Pipeline(max_loops_allowed=10)
      pipeline.add_component("add_zero", AddFixedValue(add=0))
      pipeline.add_component("merge", FirstIntSelector())
      pipeline.add_component("sum", Sum())
      pipeline.add_component("below_10", Threshold(threshold=10))
      pipeline.add_component("add_one", AddFixedValue(add=1))
      pipeline.add_component("counter", accumulator)
      pipeline.add_component("add_two", AddFixedValue(add=2))
  
      pipeline.connect("add_zero", "merge")
      pipeline.connect("merge", "below_10.value")
      pipeline.connect("below_10.below", "add_one.value")
      pipeline.connect("add_one.result", "counter.value")
      pipeline.connect("counter.value", "merge.inputs")
      pipeline.connect("below_10.above", "add_two.value")
      pipeline.connect("add_two.result", "sum.values")
  
      results = pipeline.run(
          {"add_zero": {"value": 8}, "sum": {"values": 2}}
      )
      assert results == {"sum": {"total": 23}}
      assert accumulator.state == 19
  
imports: from haystack.core.pipeline import Pipeline
  from haystack.testing.sample_components import Accumulate, AddFixedValue, Threshold, Sum, FirstIntSelector, MergeLoop
  import logging
label_desc: Use image node_id 2 for calling a global function with example usage: test_pipeline_variadic() without return types