code: def test_ProducerConsumer():
      # Largely a smoke test, which only verifies correct results output
      for jobs in "auto", None, 1, 10:
          for PC in ProducerConsumer, ProducerConsumerProgressLog:
              check_ProducerConsumer(PC, jobs)
          check_producing_consumer(jobs)
          check_producer_future_key(jobs)
  
file_path: datalad/datalad/support/tests/test_parallel.py
imports: import logging
  from functools import partial
  from time import sleep, time
  import pytest
  from datalad import lgr
  from datalad.support import path
  from datalad.support.exceptions import IncompleteResultsError
  from datalad.support.parallel import ProducerConsumer, ProducerConsumerProgressLog, no_parentds_in_futures
  from datalad.tests.utils_pytest import assert_equal, assert_greater, assert_greater_equal, assert_raises, assert_repo_status, known_failure_osx, on_osx, on_windows, rmtree, skip_if, slow, with_tempfile
label_desc: Use image node_id 4 for calling a global function with example usage: test_ProducerConsumer() without return types