code: def prepare_controllers(options):
      """Returns two lists of TestController instances, those to run, and those
      not to run."""
      testgroups = options.testgroups
      if not testgroups:
          testgroups = py_test_group_names
  
      controllers = [
          PyTestController(name, options) for name in testgroups
      ]
  
      to_run = [c for c in controllers if c.will_run]
      not_run = [c for c in controllers if not c.will_run]
      return to_run, not_run
  
imports: from __future__ import print_function
  import argparse
  import json
  import multiprocessing.pool
  import os
  import stat
  import re
  import requests
  import shutil
  import signal
  import sys
  import subprocess
  import time
  from .iptest import have, test_group_names, test_sections, StreamCapturer, test_for
  from IPython.utils.path import compress_user
  from IPython.utils.py3compat import bytes_to_str
  from IPython.utils.sysinfo import get_sys_info
  from IPython.utils.tempdir import TemporaryDirectory
  from IPython.utils.text import strip_ansi
label_desc: Use image node_id 1 for calling a global function with example usage: prepare_controllers(options) and returns: to_run,  not_run