code: def check_all(cls, tools=True, encoding=True, c_ext=True):
          
          # errors are fatal
          if cls.check_ffprobe():
              return (True, False, False)
          if cls.check_ffmpeg():
              return (True, False, False)
          if cls.check_espeak():
              return (True, False, False)
          if (tools) and (cls.check_tools()):
              return (True, False, False)
          # warnings are non-fatal
          warnings = False
          c_ext_warnings = False
          if encoding:
              warnings = cls.check_shell_encoding()
          if c_ext:
              # we do not want lazy evaluation
              c_ext_warnings = cls.check_cdtw() or c_ext_warnings
              c_ext_warnings = cls.check_cmfcc() or c_ext_warnings
              c_ext_warnings = cls.check_cew() or c_ext_warnings
          # return results
          return (False, warnings, c_ext_warnings)
docs: Perform all checks.
  
          Return a tuple of booleans ``(errors, warnings, c_ext_warnings)``.
  
          :param bool tools: if ``True``, check aeneas tools
          :param bool encoding: if ``True``, check shell encoding
          :param bool c_ext: if ``True``, check Python C extensions
          :rtype: (bool, bool, bool)