code: def test_experiments_registry(
      name: str,
      maker: tp.Callable[[], tp.Iterator[experiments.Experiment]],
  ) -> None:
      if sum([ord(c) for c in name]) % 4 > 0:
          raise SkipTest(
              "Too expensive: we randomly skip 3/4 of these tests."
          )
  
      # "mav" is not availablefor now.
      if (
          "conformant" in name
          or name == "neuro_planning"
          or "sparse" in name
      ):
          raise SkipTest(
              "This is user parametric and can not be tested."
          )
  
      if "compiler" in name or "emulators" in name:
          raise SkipTest(
              "Compiler/emulator stuff too heavy for CircleCI."
          )
  
      # Our PGAN is not well accepted by circleci.
      if "_pgan" in name and os.environ.get("CIRCLECI", False):
          raise SkipTest("Too slow in CircleCI")
  
      if "gym" in name and os.environ.get("CIRCLECI", False):
          raise SkipTest("Too slow in CircleCI")
  
      if "yawideb" in name or "_quality" in name:
          raise SkipTest("I should have a look at this test.")
  
      # mixsimulator is not accepted by circleci pytest.
      if "mixsimulator" in name and os.environ.get("CIRCLECI", False):
          raise SkipTest("Sigkill in CircleCI")
  
      # Our IQAs and our ScikitLearn are not well guaranteed on Windows.
      if (
          all(x in name for x in ["image", "quality"])
          and platform.system() == "Windows"
      ):
          raise SkipTest("Image quality not guaranteed on Windows.")
  
      # Basic test.
      print(f"Testing {name}")
      with tools.set_env(NEVERGRAD_PYTEST=1):
          with datasets.mocked_data():  # mock mlda data that should be downloaded
              check_maker(
                  maker
              )  # this is to extract the function for reuse if other external packages need it
  
      # Some tests are skipped on CircleCI (but they do work well locally, if memory enough).
      if os.environ.get("CIRCLECI", False):
          if any(
              x in name
              for x in [
                  "image",
                  "mlda",
                  "realworld",
                  "adversarial_attack",
              ]
          ):
              raise SkipTest("Too slow in CircleCI")
  
      check_experiment(
          maker,
          ("mltuning" in name or "anm" in name),
          skip_seed=(name in ["rocket", "images_using_gan"])
          or any(
              x in name
              for x in [
                  "tuning",
                  "image_",
                  "compiler",
                  "anm",
                  "olympus",
              ]
          ),
      )
  
imports: import inspect
  import itertools
  import os
  import platform
  import typing
  from pathlib import Path
  from unittest import SkipTest
  import pytest
  import numpy
  from nevergrad.optimization import registry
  import nevergrad.functions.base
  from nevergrad.functions.mlda import datasets
  from nevergrad.functions import rl
  from nevergrad.common import testing
  from nevergrad.common import tools
  from .xpbase import Experiment
  from .utils import Selector
  from .None import experiments
  from .None import optgroups
label_desc: Use image node_id 1 for calling a global function with example usage: test_experiments_registry(name, maker) without return types