code: def test_recreate_eval_workers_parallel_to_training_w_actor_manager_and_multi_agent(
      self,
  ):
      # Test the case where all eval workers fail on a multi-agent env with
      # different `policy_mapping_fn` in eval- vs train workers, but we chose
      # to recover.
      config = (
          PGConfig()
          .rollouts(env_runner_cls=ForwardHealthCheckToEnvWorker)
          .multi_agent(
              policies={"main", "p0", "p1"},
              policy_mapping_fn=(
                  lambda aid, episode, worker, **kwargs: (
                      "main"
                      if episode.episode_id % 2 == aid
                      else "p{}".format(np.random.choice([0, 1]))
                  )
              ),
          )
          .evaluation(
              evaluation_num_workers=1,
              enable_async_evaluation=True,
              evaluation_parallel_to_training=True,
              evaluation_duration="auto",
          )
          .training(model={"fcnet_hiddens": [4]})
      )
  
      self._do_test_fault_fatal_but_recreate(config, multi_agent=True)
  
imports: from collections import defaultdict
  import gymnasium
  import numpy
  import time
  import unittest
  import ray
  from ray.util.state import list_actors
  from ray.rllib.algorithms.algorithm_config import AlgorithmConfig
  from ray.rllib.algorithms.callbacks import DefaultCallbacks
  from ray.rllib.algorithms.dqn.dqn import DQNConfig
  from ray.rllib.algorithms.impala import ImpalaConfig
  from ray.rllib.algorithms.pg import PGConfig
  from ray.rllib.algorithms.pg.pg_tf_policy import PGTF2Policy
  from ray.rllib.algorithms.pg.pg_torch_policy import PGTorchPolicy
  from ray.rllib.algorithms.ppo import PPOConfig
  from ray.rllib.env.multi_agent_env import make_multi_agent
  from ray.rllib.evaluation.rollout_worker import RolloutWorker
  from ray.rllib.examples.env.random_env import RandomEnv
  from ray.rllib.utils.test_utils import framework_iterator
  from ray.tune.registry import register_env
label_desc: Use image node_id 13 for calling the TestWorkerFailures obj's underlying member method code with example usage: obj.test_recreate_eval_workers_parallel_to_training_w_actor_manager_and_multi_agent() without return types