summary: Test automation state

story:
    As a tester I need to store detailed manual instructions covering
    test scenario I have to perform manually.

description: |
    Attribute marks whether this test needs human interaction
    during its execution.  Such tests are not likely to be
    executed in automation pipelines. In the future they can be
    executed in a semi-automated way, waiting on human
    interaction.

    It's value must be a ``boolean``. The default value is
    ``false``. When set to ``true``, the :tmt:story:`/spec/tests/test`
    attribute must point to a Markdown document following the
    `CommonMark`__ specification.

    __ https://spec.commonmark.org/0.29

    This is a minimal example of a manual test document containing
    a single test with one test step and one expected result:

    .. code-block:: markdown

        # Test

        ## Step
        Do this and that.

        ## Expect
        Check this and that.

    The following sections are recognized by tmt and have a
    special meaning. Any other features of Markdown can be used,
    but tmt will just show them.

    Setup
        Optional heading ``# Setup`` under which any necessary
        preparation actions are documented. These actions are not
        part of the test itself.

    Test
        Required level 1 heading ``# Test`` or ``# Test .*``
        starting with the word 'Test' marks beginning of the test
        itself. Multiple Test sections can be defined in a single
        document.

    Step
        Required level 2 heading ``## Step`` or ``## Test Step``
        marking a single step of the test, must be in pair with
        the Expect section which follows it. Cannot be used
        outside of test sections.

    Expect
        Required level 2 heading ``## Expect``, ``## Result`` or
        ``## Expected Result`` marking expected outcome of the
        previous step. Cannot be used outside of test sections.

    Cleanup
        Optional heading ``# Cleanup`` under which any cleanup
        actions which are not part of the test itself are
        documented.

    Code block
        Optional, can be used in any section to mark code
        snippets. Code type specification (bash, python...) is
        recommended. It can be used for syntax highlighting and in
        the future for the semi-automated test execution as well.

    See the `manual test examples`__ to get a better idea.

    __ https://github.com/teemtee/tmt/tree/main/examples/manual/

example: |
  manual: true
  test: manual.md

link:
  - implemented-by: /tmt/base.py
