e3.testsuite.utils
==================

.. py:module:: e3.testsuite.utils

.. autoapi-nested-parse::

   Miscellaneous helpers.



Attributes
----------

.. autoapisummary::

   e3.testsuite.utils.EnumType


Classes
-------

.. autoapisummary::

   e3.testsuite.utils.DummyColors
   e3.testsuite.utils.ColorConfig
   e3.testsuite.utils.CleanupMode


Functions
---------

.. autoapisummary::

   e3.testsuite.utils.isatty
   e3.testsuite.utils.enum_to_cmdline_args_map
   e3.testsuite.utils.dump_environ
   e3.testsuite.utils.indent


Module Contents
---------------

.. py:function:: isatty(stream: IO[AnyStr]) -> bool

   Return whether stream is a TTY.

   This is a safe predicate: it works if stream is None or if it does not even
   support TTY detection: in these cases, be conservative (consider it's not a
   TTY).


.. py:class:: DummyColors

   Stub to replace colorama's Fore/Style when colors are disabled.


   .. py:method:: __getattr__(name: str) -> str


.. py:class:: ColorConfig(colors_enabled: Optional[bool] = None)

   Proxy for color management.

   This embeds colorama's Fore/Style, or DummyColors instances when colors are
   disabled.


   .. py:attribute:: Fore


   .. py:attribute:: Style


.. py:class:: CleanupMode(*args, **kwds)

   Bases: :py:obj:`enum.Enum`


   Mode for working space cleanups.


   .. py:attribute:: NONE


   .. py:attribute:: PASSING


   .. py:attribute:: ALL


   .. py:method:: default() -> CleanupMode
      :classmethod:



   .. py:method:: descriptions() -> Dict[CleanupMode, str]
      :classmethod:



.. py:data:: EnumType

.. py:function:: enum_to_cmdline_args_map(enum_cls: Type[EnumType]) -> Dict[str, EnumType]

   Turn enum alternatives into command-line arguments.

   This helps exposing enums for options on the command-line. This turns
   alternative names into lower case and replaces underscores with dashes.


.. py:function:: dump_environ(filename: str, env: e3.env.Env) -> None

   Dump environment variables into a sourceable file.


.. py:function:: indent(text: str, prefix: str = '  ') -> str

   Prepend ``prefix`` to every line in ``text``.

   :param text: Text to transform.
   :param prefix: String to prepend.


