class_docstr: The CLI runner provides functionality to invoke a Click command line
  script for unittesting purposes in a isolated environment.  This only
  works in single-threaded systems without any concurrency as it changes the
  global interpreter state.
  
  :param charset: the character set for the input and output data.  This is
                  UTF-8 by default and should not be changed currently as
                  the reporting to Click only works in Python 2 properly.
  :param env: a dictionary with environment variables for overriding.
  :param echo_stdin: if this is set to `True`, then reading from stdin writes
                     to stdout.  This is useful for showing examples in
                     some circumstances.  Note that regular prompts
                     will automatically echo the input.
  :param mix_stderr: if this is set to `False`, then stdout and stderr are
                     preserved as independent streams.  This is useful for
                     Unix-philosophy apps that have predictable stdout and
                     noisy stderr, such that each may be measured
                     independently
code: def __init__(
      self, charset=None, env=None, echo_stdin=False, mix_stderr=True
  ):
      if charset is None:
          charset = "utf-8"
      self.charset = charset
      self.env = env or {}
      self.echo_stdin = echo_stdin
      self.mix_stderr = mix_stderr
  
imports: import contextlib
  import os
  import shlex
  import shutil
  import sys
  import tempfile
  from .None import formatting
  from .None import termui
  from .None import utils
  from ._compat import iteritems
  from ._compat import PY2
  from ._compat import string_types
label_desc: Use image node_id 1 to create a new CliRunner object from inherited base classes: object with example: obj = CliRunner(charset, env, echo_stdin, mix_stderr)