diff options
Diffstat (limited to 'docs/config.rst.bak')
| -rw-r--r-- | docs/config.rst.bak | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/docs/config.rst.bak b/docs/config.rst.bak new file mode 100644 index 0000000..9d2c5bc --- /dev/null +++ b/docs/config.rst.bak @@ -0,0 +1,142 @@ +.. bt in -*- rst -*- mode! + +Configuration +============= + +File +---- + +The configuration file is named ``minishell_test.cfg`` and should be located at the root of your project. + +Here is what the default configuration looks like: + +.. include:: ../minishell_test/data/default.cfg + :code: ini + + +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. + +.. conf:: bonus + + :type: true|false + + Enable the bonus tests (:ref:`bonus`). + +.. conf:: make + + :type: true|false + + Run the ``make`` command in your project directory before the test. + +.. conf:: make_args + + :type: space separated list + + | Argument given to the ``make`` command. + | The default value (``MINISHELL_TEST_FLAGS=-DMINISHELL_TEST``) allows you to do conditional compilation + to support both the ``-c`` option and the :ref:`subject` + (which doesn't say anything about options, so we assumed the minishell executable didn't take any). + + | In your ``Makefile`` add ``$(MINISHELL_TEST_FLAGS)`` in your object compilation command. + (e.g ``$(CC) $(CCFLAGS) -c -o $@ $<``) + + | You can then have something resembling the following in your ``main``: + + .. code:: c + + #ifndef MINISHELL_TEST + int main(int argc, char **argv) + { + if (argc != 1) error; + ... + } + #else + int main(int argc, char **argv) + { + if (argc != 3 && strcmp(argv[1], "-c") == 0) do the thing; + ... + } + #endif + +.. conf:: check_error_messages + + :type: true|false + + | If is ``true``, will ignore the content of the error messages outputed by the reference shell, + | Usefull if you have implemented your own error messages and don't want to copy bash's ones. + +.. conf:: pager + + :type: command name + + | Pager to use when viewing your results after the tests finished running. + | Will be called like so: ``{pager} {log_filename}``. + +Shell +----- + +Shell settings are defined under the ``[shell]`` section. + +.. conf:: available_commands + + :type: multiline list + + Commands available in a test. + + .. warning:: + Some of the default tests won't serve their purpose + if the default available commands are not present. + +.. conf:: path_variable + + :type: string (``:`` separated directories) + + ``$PATH`` environment variable passed to the shell. + + .. note:: + ``{shell_available_commands_dir}`` will be replaced by the directory + where the available commands are stored. + +Reference ++++++++++ + +Reference shell settings are defined under the ``[shell:reference]`` section. + +.. conf:: path + + :type: path + + Path to reference shell, the one to which minishell will be compared. + + .. note:: + has to support the ``-c`` option, ``sh``, ``bash`` and ``zsh`` support it. + +.. conf:: args + + :type: space separated list + + | 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. + +.. conf:: test + + :type: float (seconds) + + Time before a timeout occurs on a regular test. + +.. conf:: leaks + + :type: float (seconds) + + Time before a timeout occurs on a leak test (with valgrind). |
