code: def test_wait_for_one(self, use_wm_v2):
      self.enter_context(
          flagsaver.flagsaver(lp_worker_manager_v2=use_wm_v2)
      )
      p = program.Program("test")
  
      p.add_node(python.PyNode(_noop), "noop")
      resources = dict(noop=_get_default_py_node_config())
      processes = launch.launch(
          p, test_case=self, local_resources=resources
      )
  
      if use_wm_v2:
          p_dict = (
              processes._process_workers
          )  # pytype:disable=attribute-error
      else:
          p_dict = (
              processes._active_workers
          )  # pytype:disable=attribute-error
      self.assertEqual(list(p_dict.keys()), ["noop"])
      self.assertLen(p_dict["noop"], 1)
      # Wait until termination
      self.assertEqual(p_dict["noop"][0].wait(), 0)
  
imports: from absl.testing import absltest
  from absl.testing import flagsaver
  from absl.testing import parameterized
  import launchpad
  from launchpad import program
  from launchpad.launch.test_multi_processing import launch
  from launchpad.nodes.python import local_multi_processing
  from launchpad.nodes.python import node
  from launchpad.program_stopper import program_stopper
label_desc: Use image node_id 2 for calling the LaunchTest obj's underlying member method code with example usage: obj.test_wait_for_one(use_wm_v2) without return types