code: def test_custom_vec_env():
      """
      Stand alone test for a special case (passing a custom VecEnv class) to avoid doubling the number of tests.
      """
      monitor_dir = "logs/test_make_vec_env/"
      env = make_vec_env(
          "CartPole-v1",
          n_envs=1,
          monitor_dir=monitor_dir,
          seed=0,
          vec_env_cls=SubprocVecEnv,
          vec_env_kwargs={"start_method": None},
      )
  
      assert env.num_envs == 1
      assert isinstance(env, SubprocVecEnv)
      assert os.path.isdir("logs/test_make_vec_env/")
      # Kill subprocess
      env.close()
      # Cleanup folder
      shutil.rmtree(monitor_dir)
  
      # This should fail because DummyVecEnv does not have any keyword argument
      with pytest.raises(TypeError):
          make_vec_env(
              "CartPole-v1", n_envs=1, vec_env_kwargs={"dummy": False}
          )
  
file_path: stable-baselines/tests/test_utils.py
imports: import os
  import shutil
  import pytest
  import gym
  from stable_baselines import A2C
  from stable_baselines.bench.monitor import Monitor
  from stable_baselines.common.evaluation import evaluate_policy
  from stable_baselines.common.cmd_util import make_vec_env
  from stable_baselines.common.vec_env import DummyVecEnv, SubprocVecEnv
label_desc: Use image node_id 2 for calling a global function with example usage: test_custom_vec_env() without return types