aboutsummaryrefslogtreecommitdiff
path: root/docs/custom_test.rst
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/custom_test.rst
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/custom_test.rst')
-rw-r--r--docs/custom_test.rst41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/custom_test.rst b/docs/custom_test.rst
new file mode 100644
index 0000000..1d5971c
--- /dev/null
+++ b/docs/custom_test.rst
@@ -0,0 +1,41 @@
+Add Custom Tests
+================
+
+Test
+----
+
+In your suite function you can use the ``test`` function. With the
+following arguments:
+
+1. Command to be tested (output and status will be compared to bash)
+2. A command to setup the sandbox directory where the tested command
+ will be run
+3. List of files to watch (the content of each file will be compared)
+
+.. code:: python
+
+ test("echo bonjour je suis") # simple command
+ test("cat < somefile", setup="echo file content > somefile") # setup
+ test("ls > somefile", setup="", files=["somefile"]) # watch a file
+ test("echo $A", exports={"A": "a"}) # export variables
+ # in the environment
+ test("echo bonjour", hook=lambda s: s.replace("o", "a")) # pass the shell output
+ # through a hook function
+
+ test("cat < somefile > otherfile",
+ setup="echo file content > somefile",
+ files=["otherfile"])
+
+Suite
+-----
+
+A test suite is a group of related tests.
+
+.. code:: python
+
+ @suite() # @suite(bonus=True) if it's a bonus suite
+ def suite_yoursuitename(test):
+ """ a description of the suite """
+ test(...)
+ test(...)
+ test(...)