..
   Please, do not edit this file, is is rendered from lint-checks.rst.j2,
   and all your changes would be overwritten.

.. _lint-checks:

Lint Checks
==================================================================

In order to ensure that all configuration data are valid and
aligned with the specification the ``lint`` command can be used.
Below you can find the list of available checks. See the
:ref:`lint` section for more details.


Test checks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
   :header-rows: 1

   * - Check ID
     -

   * - ``C000``
     - fmf node should pass the schema validation

   * - ``C001``
     - summary key should be set and should be reasonably long

   * - ``T001``
     - all keys are known

   * - ``T002``
     - test script must be defined

   * - ``T003``
     - test directory path must be absolute

   * - ``T004``
     - test directory path must exist

   * - ``T005``
     - relevancy has been obsoleted by adjust

   * - ``T006``
     - coverage has been obsoleted by link

   * - ``T007``
     - manual test path is not an actual path

   * - ``T008``
     - manual test should be valid markdown

   * - ``T009``
     - require fields should have type field


Plan checks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
   :header-rows: 1

   * - Check ID
     -

   * - ``C000``
     - fmf node should pass the schema validation

   * - ``C001``
     - summary key should be set and should be reasonably long

   * - ``P001``
     - all keys are known

   * - ``P002``
     - execute step must be defined with "how"

   * - ``P003``
     - execute step methods must be known

   * - ``P004``
     - discover step methods must be known

   * - ``P005``
     - remote fmf ids must be valid

   * - ``P006``
     - phases must have unique names

   * - ``P007``
     - step phases require existing guests and roles

   * - ``P008``
     - environment files are not empty

   * - ``P009``
     - step phases have valid data


Story checks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
   :header-rows: 1

   * - Check ID
     -

   * - ``C000``
     - fmf node should pass the schema validation

   * - ``C001``
     - summary key should be set and should be reasonably long

   * - ``S001``
     - all keys are known

   * - ``S002``
     - story key must be defined


Checks for all Tests, Plans and Stories
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
   :header-rows: 1

   * - Check ID
     -

   * - ``G001``
     - no duplicate ids
