# {py:mod}`structfs.tests.test_runner`

```{py:module} structfs.tests.test_runner
:noindex:
```

```{autodoc2-docstring} structfs.tests.test_runner
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`RunActionExample <structfs.tests.test_runner.RunActionExample>`
  -
````

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`say_hello <structfs.tests.test_runner.say_hello>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.say_hello
    :summary:
    ```
* - {py:obj}`dude <structfs.tests.test_runner.dude>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.dude
    :summary:
    ```
* - {py:obj}`say_to_world <structfs.tests.test_runner.say_to_world>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.say_to_world
    :summary:
    ```
* - {py:obj}`test_simple_run_all <structfs.tests.test_runner.test_simple_run_all>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_simple_run_all
    :summary:
    ```
* - {py:obj}`test_runner_actions <structfs.tests.test_runner.test_runner_actions>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_runner_actions
    :summary:
    ```
* - {py:obj}`test_run_steps_order <structfs.tests.test_runner.test_run_steps_order>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_run_steps_order
    :summary:
    ```
* - {py:obj}`test_run_steps_args <structfs.tests.test_runner.test_run_steps_args>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_run_steps_args
    :summary:
    ```
* - {py:obj}`test_run_1step <structfs.tests.test_runner.test_run_1step>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_run_1step
    :summary:
    ```
* - {py:obj}`test_run_empty_steps <structfs.tests.test_runner.test_run_empty_steps>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_run_empty_steps
    :summary:
    ```
* - {py:obj}`test_run_bad_steps <structfs.tests.test_runner.test_run_bad_steps>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_run_bad_steps
    :summary:
    ```
* - {py:obj}`test_runner_context <structfs.tests.test_runner.test_runner_context>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_runner_context
    :summary:
    ```
* - {py:obj}`test_add_bad_step <structfs.tests.test_runner.test_add_bad_step>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_add_bad_step
    :summary:
    ```
* - {py:obj}`test_hellogoodbye <structfs.tests.test_runner.test_hellogoodbye>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_hellogoodbye
    :summary:
    ```
* - {py:obj}`test_runaction <structfs.tests.test_runner.test_runaction>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.test_runaction
    :summary:
    ```
````

### Data

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`simple <structfs.tests.test_runner.simple>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.simple
    :summary:
    ```
* - {py:obj}`empty <structfs.tests.test_runner.empty>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.empty
    :summary:
    ```
* - {py:obj}`HelloGoodbye <structfs.tests.test_runner.HelloGoodbye>`
  - ```{autodoc2-docstring} structfs.tests.test_runner.HelloGoodbye
    :summary:
    ```
````

### API

````{py:data} simple
:canonical: structfs.tests.test_runner.simple
:noindex:
:value: >
   'Runner(...)'

```{autodoc2-docstring} structfs.tests.test_runner.simple
```

````

````{py:function} say_hello(context)
:canonical: structfs.tests.test_runner.say_hello
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.say_hello
```
````

````{py:function} dude(s)
:canonical: structfs.tests.test_runner.dude
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.dude
```
````

````{py:function} say_to_world(context)
:canonical: structfs.tests.test_runner.say_to_world
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.say_to_world
```
````

````{py:data} empty
:canonical: structfs.tests.test_runner.empty
:noindex:
:value: >
   'Runner(...)'

```{autodoc2-docstring} structfs.tests.test_runner.empty
```

````

````{py:function} test_simple_run_all()
:canonical: structfs.tests.test_runner.test_simple_run_all
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_simple_run_all
```
````

````{py:function} test_runner_actions()
:canonical: structfs.tests.test_runner.test_runner_actions
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_runner_actions
```
````

````{py:function} test_run_steps_order()
:canonical: structfs.tests.test_runner.test_run_steps_order
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_run_steps_order
```
````

````{py:function} test_run_steps_args()
:canonical: structfs.tests.test_runner.test_run_steps_args
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_run_steps_args
```
````

````{py:function} test_run_1step()
:canonical: structfs.tests.test_runner.test_run_1step
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_run_1step
```
````

````{py:function} test_run_empty_steps()
:canonical: structfs.tests.test_runner.test_run_empty_steps
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_run_empty_steps
```
````

````{py:function} test_run_bad_steps()
:canonical: structfs.tests.test_runner.test_run_bad_steps
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_run_bad_steps
```
````

````{py:function} test_runner_context()
:canonical: structfs.tests.test_runner.test_runner_context
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_runner_context
```
````

````{py:function} test_add_bad_step()
:canonical: structfs.tests.test_runner.test_add_bad_step
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_add_bad_step
```
````

````{py:data} HelloGoodbye
:canonical: structfs.tests.test_runner.HelloGoodbye
:noindex:
:value: >
   None

```{autodoc2-docstring} structfs.tests.test_runner.HelloGoodbye
```

````

````{py:function} test_hellogoodbye()
:canonical: structfs.tests.test_runner.test_hellogoodbye
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_hellogoodbye
```
````

`````{py:class} RunActionExample(runner: structfs.runner.Runner, log: typing.Optional[logging.Logger] = None)
:canonical: structfs.tests.test_runner.RunActionExample
:noindex:

Bases: {py:obj}`structfs.runner.Action`

````{py:method} report() -> dict
:canonical: structfs.tests.test_runner.RunActionExample.report
:noindex:

````

`````

````{py:function} test_runaction()
:canonical: structfs.tests.test_runner.test_runaction
:noindex:

```{autodoc2-docstring} structfs.tests.test_runner.test_runaction
```
````
