aboutsummaryrefslogtreecommitdiff
path: root/docs/config.rst.bak
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2021-02-28 20:41:21 +0100
committerCharles Cabergs <me@cacharle.xyz>2021-02-28 20:41:21 +0100
commit072ec79b51cb4af45b168bf6f73941d1de94c8ae (patch)
tree7b7c5e97ba1980d51a1e9a258186d335d32f6e3e /docs/config.rst.bak
parent50c413b6f3c02c63b143ad4abf2e357cf7b2fbb0 (diff)
downloadminishell_test-072ec79b51cb4af45b168bf6f73941d1de94c8ae.tar.gz
minishell_test-072ec79b51cb4af45b168bf6f73941d1de94c8ae.tar.bz2
minishell_test-072ec79b51cb4af45b168bf6f73941d1de94c8ae.zip
Added full config documentation, Splitting original README in multiple doc pages
Diffstat (limited to 'docs/config.rst.bak')
-rw-r--r--docs/config.rst.bak142
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).