aboutsummaryrefslogtreecommitdiff
path: root/docs/config.rst
blob: 884cf9b69e6616f4fe7b2502b6c5e189ef7f186a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
.. bt in -*- rst -*- mode!

Configuration
=============

Configuration file
------------------

It looks for a ``minishell_test.cfg`` file in your project directory.

Here is what the default configuration looks like:

.. include:: ../minishell_test/data/default.cfg
   :code: cfg


The format of this file is described in more details `here <https://docs.python.org/3/library/configparser.html#supported-ini-file-structure>`_

Global
------

Global settings are defined under the ``minishell_test`` section:

.. code-block:: cfg

   [minishell_test]
   bonus = true

.. conf:: bonus

   :type: true|false
   :default: false

   Run the bonus tests

.. conf:: exec_name

   :type: PATH
   :default: minishell

   Minishell executable name

.. conf:: make

   :type: true|false
   :default: true

   Run ``make`` in your project directory before the test

.. conf:: pager

   :type: NAME
   :default: less

   Pager to use when viewing your results

.. conf:: log_path

   :type: PATH
   :default: minishell_test.log

   File where to put the test results

.. conf:: cache_path

   :type: PATH
   :default: $XDG_CACHE_HOME/minishell_test ^ ~/.cache/minishell_test


Shell
-----

Shell settings are defined under the ``shell`` section:

.. code-block:: cfg

   [shell]
   available_commands = ls,cat

.. conf:: available_commands

   :type: LIST
   :default: rmdir env cat touch ls grep sh head

   Commands available in test

.. conf:: path_variable

   :type: LIST
   :default: {cache:executables_path}

   ``$PATH`` environment variable passed to the shell

Reference
+++++++++

Reference shell settings are defined under the ``shell:reference`` section:

.. code-block:: cfg

   [shell:reference]
   path = /bin/sh

.. conf:: path

   :type: PATH
   :default: /bin/bash

   Path to reference shell (shell which will be compared minishell)
   has to support the ``-c`` option (``sh``, ``bash`` and ``zsh`` support it)

.. conf:: args

   :type: ARGV

   | Supplementary arguments to the reference shell
   | e.g ``--posix`` can be used with bash for a more posix complient behavior

Timeout
-------

Timeout settings are defined under the ``timeout`` section:

.. code-block:: cfg

   [timeout]
   leaks = 60

.. conf:: test

   :type: FLOAT
   :default: 0.5

   Time before a timeout occurs on a regular test (in seconds)

.. conf:: leaks

   :type: FLOAT
   :default: 10

   Time before a timeout occurs on a leak test (with valgrind) (in seconds)