aboutsummaryrefslogtreecommitdiff
path: root/minishell_test/suites
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2021-03-03 17:25:46 +0100
committerCharles Cabergs <me@cacharle.xyz>2021-03-03 17:25:46 +0100
commit422c56fbc5cd7493aaa96a341ebfff077f7a7de3 (patch)
tree199c9dbb084b36b6d85774869076484305dc449a /minishell_test/suites
parent820102f9ccdfdfe3ae78c22f803da4db87cb91ba (diff)
downloadminishell_test-422c56fbc5cd7493aaa96a341ebfff077f7a7de3.tar.gz
minishell_test-422c56fbc5cd7493aaa96a341ebfff077f7a7de3.tar.bz2
minishell_test-422c56fbc5cd7493aaa96a341ebfff077f7a7de3.zip
Added config tests
Diffstat (limited to 'minishell_test/suites')
-rw-r--r--minishell_test/suites/builtin.py40
-rw-r--r--minishell_test/suites/cmd.py70
-rw-r--r--minishell_test/suites/flow.py212
-rw-r--r--minishell_test/suites/preprocess.py32
4 files changed, 177 insertions, 177 deletions
diff --git a/minishell_test/suites/builtin.py b/minishell_test/suites/builtin.py
index 900bd93..8310ce4 100644
--- a/minishell_test/suites/builtin.py
+++ b/minishell_test/suites/builtin.py
@@ -66,14 +66,14 @@ def suite_echo(test):
@suite()
def suite_export(test):
""" export builtin tests """
- test("export", hook=hooks.export_singleton)
- test("export", exports={"A": ""}, hook=hooks.export_singleton)
- test("export", exports={"A": "\""}, hook=hooks.export_singleton)
- test("export", exports={"A": "\\"}, hook=hooks.export_singleton)
- test("export", exports={"A": "$"}, hook=hooks.export_singleton)
- test("export", exports={"A": "\t"}, hook=hooks.export_singleton)
- test("export", exports={"A": "'"}, hook=hooks.export_singleton)
- test("export", exports={"A": "a"}, hook=hooks.export_singleton)
+ test("export", hooks=hooks.export_singleton)
+ test("export", exports={"A": ""}, hooks=hooks.export_singleton)
+ test("export", exports={"A": "\""}, hooks=hooks.export_singleton)
+ test("export", exports={"A": "\\"}, hooks=hooks.export_singleton)
+ test("export", exports={"A": "$"}, hooks=hooks.export_singleton)
+ test("export", exports={"A": "\t"}, hooks=hooks.export_singleton)
+ test("export", exports={"A": "'"}, hooks=hooks.export_singleton)
+ test("export", exports={"A": "a"}, hooks=hooks.export_singleton)
test("export A=a; echo $A")
test("export A=a B=b C=c; echo $A$B$C")
test("export A=a B=b C=c D=d E=e F=f G=g H=h I=i J=j K=k L=l"
@@ -116,7 +116,7 @@ def suite_export(test):
test("export 'asdf ' B ' asdf asdf asd f' ' asdf ' '' 'asdf ' C; echo $A$B$C")
test("export A 'asdf ' B ' asdf asdf asd f' ' asdf ' '' 'asdf '; echo $A$B$C")
test("export A B C; echo $A$B$C")
- test("export A B C; env", hook=hooks.sort_lines)
+ test("export A B C; env", hooks=hooks.sort_lines)
test("export 'AH@'=nop")
test("export \"AH'\"=nop")
test("export 'AH\"'=nop")
@@ -157,18 +157,18 @@ def suite_cd(test):
# hard and weird to implement with pwd
# test("cd /etc; pwd; echo $PWD")
test("echo $PWD; echo $OLDPWD; cd ''; pwd; echo $PWD; echo $OLDPWD")
- test("echo $PWD; echo $OLDPWD; cd '' ''; pwd; echo $PWD; echo $OLDPWD", hook=linux_discard)
- test("echo $PWD; echo $OLDPWD; cd '' '' ''; pwd; echo $PWD; echo $OLDPWD", hook=linux_discard)
+ test("echo $PWD; echo $OLDPWD; cd '' ''; pwd; echo $PWD; echo $OLDPWD", hooks=linux_discard)
+ test("echo $PWD; echo $OLDPWD; cd '' '' ''; pwd; echo $PWD; echo $OLDPWD", hooks=linux_discard)
test("echo $PWD; echo $OLDPWD; cd ' '; pwd; echo $PWD; echo $OLDPWD")
- test("echo $PWD; echo $OLDPWD; cd d ''; pwd; echo $PWD; echo $OLDPWD", setup="mkdir d", hook=linux_discard)
- test("echo $PWD; echo $OLDPWD; cd d d; pwd; echo $PWD; echo $OLDPWD", setup="mkdir d", hook=linux_discard)
- test("echo $PWD; echo $OLDPWD; cd d ' '; pwd; echo $PWD; echo $OLDPWD", setup="mkdir d", hook=linux_discard)
+ test("echo $PWD; echo $OLDPWD; cd d ''; pwd; echo $PWD; echo $OLDPWD", setup="mkdir d", hooks=linux_discard)
+ test("echo $PWD; echo $OLDPWD; cd d d; pwd; echo $PWD; echo $OLDPWD", setup="mkdir d", hooks=linux_discard)
+ test("echo $PWD; echo $OLDPWD; cd d ' '; pwd; echo $PWD; echo $OLDPWD", setup="mkdir d", hooks=linux_discard)
test("echo $PWD; echo $OLDPWD; cd $HOME; pwd; echo $PWD; echo $OLDPWD", exports={"HOME": os.getenv("HOME")})
test("echo $PWD; echo $OLDPWD; cd /; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd /.; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd /./; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd /././././; pwd; echo $PWD; echo $OLDPWD")
- test("echo $PWD; echo $OLDPWD; cd //; pwd; echo $PWD; echo $OLDPWD", hook=hooks.replace_double("/"))
+ test("echo $PWD; echo $OLDPWD; cd //; pwd; echo $PWD; echo $OLDPWD", hooks=hooks.replace_double("/"))
test("echo $PWD; echo $OLDPWD; cd ///; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd ////; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd //////////////////////////////////////////////////////; pwd; echo $PWD; echo $OLDPWD")
@@ -179,7 +179,7 @@ def suite_cd(test):
test("echo $PWD; echo $OLDPWD; cd ' /'; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd ' / '; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd ' // '; pwd; echo $PWD; echo $OLDPWD")
- test("echo $PWD; echo $OLDPWD; cd //home; pwd; echo $PWD; echo $OLDPWD", hook=hooks.replace_double("/"))
+ test("echo $PWD; echo $OLDPWD; cd //home; pwd; echo $PWD; echo $OLDPWD", hooks=hooks.replace_double("/"))
test("echo $PWD; echo $OLDPWD; cd ' //home'; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd ' //home '; pwd; echo $PWD; echo $OLDPWD")
test("echo $PWD; echo $OLDPWD; cd d; echo $OLDPWD", setup="mkdir -m 000 d")
@@ -302,10 +302,10 @@ def suite_pwd(test):
@suite()
def suite_env(test):
""" env builtin tests """
- test("env", hook=[hooks.sort_lines, hooks.shlvl_0_to_1])
- test("env", setup="export A=a", hook=[hooks.sort_lines, hooks.shlvl_0_to_1])
- test("env", setup="export A=a B=b C=c", hook=[hooks.sort_lines, hooks.shlvl_0_to_1])
- test("env | cat -e", setup="export A=a B=b C=c", hook=[hooks.sort_lines, hooks.shlvl_0_to_1])
+ test("env", hooks=[hooks.sort_lines, hooks.shlvl_0_to_1])
+ test("env", setup="export A=a", hooks=[hooks.sort_lines, hooks.shlvl_0_to_1])
+ test("env", setup="export A=a B=b C=c", hooks=[hooks.sort_lines, hooks.shlvl_0_to_1])
+ test("env | cat -e", setup="export A=a B=b C=c", hooks=[hooks.sort_lines, hooks.shlvl_0_to_1])
test("Env")
test("enV")
test("Env", exports={"PATH": "/bin:/usr/bin"})
diff --git a/minishell_test/suites/cmd.py b/minishell_test/suites/cmd.py
index 66acf97..a4c4e88 100644
--- a/minishell_test/suites/cmd.py
+++ b/minishell_test/suites/cmd.py
@@ -68,21 +68,21 @@ def suite_redirection(test):
files=["abcdefghijklmnopqrstuvwxyz"])
test("> file", files=["file"])
test("< file", setup="echo bonjour > file")
- test(">", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test(">>", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("<", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("echo >", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("echo >>", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("echo <", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test(">", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test(">>", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("<", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("echo >", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("echo >>", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("echo <", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
test("> test", files=["test"])
test(">> test", files=["test"])
test("< test", setup="touch test")
- test("echo foo >>> bar", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("echo foo >>>> bar", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("echo foo >>>>> bar", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("cat << < bar", setup="echo bonjour > bar", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("cat << << bar", setup="echo bonjour > bar", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
- test("cat <<<<< bar", setup="echo bonjour > bar", hook=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("echo foo >>> bar", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("echo foo >>>> bar", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("echo foo >>>>> bar", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("cat << < bar", setup="echo bonjour > bar", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("cat << << bar", setup="echo bonjour > bar", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
+ test("cat <<<<< bar", setup="echo bonjour > bar", hooks=hooks.error_line0, hook_status=hooks.platform_status(1, 2))
test("cat < doesnotexist")
test("echo bonjour >> a", setup="echo a > a", files=["a"])
test("echo bonjour >> a >> a", setup="echo a > a", files=["a"])
@@ -173,15 +173,15 @@ def suite_cmd_path(test):
test("./somefile", setup="echo > somefile; chmod 111 somefile")
test("./somefile", setup="echo > somefile; chmod 222 somefile")
test("./somefile", setup="echo > somefile; chmod 333 somefile")
- test("somedir/", setup="mkdir somedir", hook=hooks.is_directory)
- test("./somedir/", setup="mkdir somedir", hook=hooks.is_directory)
+ test("somedir/", setup="mkdir somedir", hooks=hooks.is_directory)
+ test("./somedir/", setup="mkdir somedir", hooks=hooks.is_directory)
test("somedir", setup="mkdir somedir")
- test("./somedir", setup="mkdir somedir", hook=hooks.is_directory)
+ test("./somedir", setup="mkdir somedir", hooks=hooks.is_directory)
test("somedir", setup="mkdir somedir")
- test("somedirsoftlink/", setup="mkdir somedir; ln -s somedir somedirsoftlink", hook=hooks.is_directory)
- test("./somedirsoftlink/", setup="mkdir somedir; ln -s somedir somedirsoftlink", hook=hooks.is_directory)
+ test("somedirsoftlink/", setup="mkdir somedir; ln -s somedir somedirsoftlink", hooks=hooks.is_directory)
+ test("./somedirsoftlink/", setup="mkdir somedir; ln -s somedir somedirsoftlink", hooks=hooks.is_directory)
test("somedirsoftlink", setup="mkdir somedir; ln -s somedir somedirsoftlink")
- test("./somedirsoftlink", setup="mkdir somedir; ln -s somedir somedirsoftlink", hook=hooks.is_directory)
+ test("./somedirsoftlink", setup="mkdir somedir; ln -s somedir somedirsoftlink", hooks=hooks.is_directory)
test("somedirsoftlink", setup="mkdir somedir; ln -s somedir somedirsoftlink")
test("./someremovedlink", setup="touch somefile; ln -s somefile someremovedlink; rm -f somefile")
test("./somelink2", setup="touch somefile; ln -s somefile somelink1; ln -s somelink1 somelink2")
@@ -201,8 +201,8 @@ def suite_cmd_path(test):
test("'-'", setup="touch -")
test("./_", setup="touch _")
test("./-", setup="touch a; mv a ./-")
- test("./.", setup="touch .", hook=hooks.is_directory)
- test("./..", setup="touch ..", hook=hooks.is_directory)
+ test("./.", setup="touch .", hooks=hooks.is_directory)
+ test("./..", setup="touch ..", hooks=hooks.is_directory)
test("./somefile", setup='echo > somefile && chmod 0777 somefile')
test("./somefile", setup='echo > somefile && chmod 1000 somefile')
test("./somefile", setup='echo > somefile && chmod 2000 somefile')
@@ -219,21 +219,21 @@ def suite_cmd_path(test):
test("./somefile", setup='echo > somefile && chmod 6777 somefile')
test("./somefile", setup='echo > somefile && chmod 7777 somefile')
test("./somefile", setup='echo > somefile && chmod 0000 somefile')
- test("./somedir", setup='mkdir -m 0777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 1000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 2000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 3000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 4000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 5000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 6000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 7000 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 1777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 2777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 3777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 4777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 5777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 6777 somedir', hook=hooks.is_directory)
- test("./somedir", setup='mkdir -m 0000 somedir', hook=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 0777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 1000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 2000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 3000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 4000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 5000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 6000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 7000 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 1777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 2777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 3777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 4777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 5777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 6777 somedir', hooks=hooks.is_directory)
+ test("./somedir", setup='mkdir -m 0000 somedir', hooks=hooks.is_directory)
test("./Somefile", setup='echo > somefile && chmod 000 somefile')
test("./someFILE", setup='echo > somefile && chmod 000 somefile')
diff --git a/minishell_test/suites/flow.py b/minishell_test/suites/flow.py
index ff3b51f..67cd1b1 100644
--- a/minishell_test/suites/flow.py
+++ b/minishell_test/suites/flow.py
@@ -31,9 +31,9 @@ def suite_end(test):
test("echo; ")
test("echo ; ")
test("echo ;")
- test("; echo", hook=error_line0, hook_status=platform_status(2, 1))
- test(" ;echo", hook=error_line0, hook_status=platform_status(2, 1))
- test(" ; echo", hook=error_line0, hook_status=platform_status(2, 1))
+ test("; echo", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(" ;echo", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(" ; echo", hooks=error_line0, hook_status=platform_status(2, 1))
test("echo a; echo b; echo c; echo d; echo e; echo f; echo g; echo h; echo i;"
"echo j; echo k; echo l; echo m; echo c; echo c; echo c; echo c; echo c;"
"echo c; echo c; echo c; echo v; echo w; echo x; echo y; echo z")
@@ -43,17 +43,17 @@ def suite_end(test):
test("ls doesnotexists ; echo bonjour")
test("ls doesnotexists; echo bonjour")
test("echo bonjour; ls doesnotexists")
- test("echo a ; ;", hook=error_line0, hook_status=platform_status(2, 1))
- test("echo a ; ;", hook=error_line0, hook_status=platform_status(2, 1))
- test(";", hook=error_line0, hook_status=platform_status(2, 1))
- test("; ;", hook=error_line0, hook_status=platform_status(2, 1))
- test("; ; ;", hook=error_line0, hook_status=platform_status(2, 1))
- test("echo a ; ; echo b", hook=error_line0, hook_status=platform_status(2, 1))
- test(";;", hook=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
- test(";;;", hook=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
- test(";;;;;", hook=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
- test("echo a ;; echo b", hook=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
- test("echo a ;;;;; echo b", hook=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
+ test("echo a ; ;", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("echo a ; ;", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(";", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("; ;", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("; ; ;", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("echo a ; ; echo b", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(";;", hooks=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
+ test(";;;", hooks=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
+ test(";;;;;", hooks=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
+ test("echo a ;; echo b", hooks=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
+ test("echo a ;;;;; echo b", hooks=[error_line0, replace_double(";")], hook_status=platform_status(2, 1))
test("ls " + 40 * " ; ls", setup="touch a b c")
test("ls " + 80 * " ; ls", setup="touch a b c")
test("ls " + 40 * " ; ls" + ";", setup="touch a b c")
@@ -67,9 +67,9 @@ def suite_pipe(test):
test("cat -e /etc/shells | head -c 10")
test("cat -e /etc/shells | cat -e | head -c 10")
test("cat -e /etc/shells | cat -e | cat -e | head -c 10")
- test("cat -e /dev/random | head -c 10", hook=discard)
- test("cat -e /dev/random | cat -e | head -c 10", hook=discard)
- test("cat -e /dev/random | cat -e | cat -e | head -c 10", hook=discard)
+ test("cat -e /dev/random | head -c 10", hooks=discard)
+ test("cat -e /dev/random | cat -e | head -c 10", hooks=discard)
+ test("cat -e /dev/random | cat -e | cat -e | head -c 10", hooks=discard)
test("echo bonjour | cat")
test("echo bonjour | cat -e")
test("echo bonjour | cat -e | cat -e | cat -e | cat -e | cat -e | cat -e | cat -e")
@@ -78,18 +78,18 @@ def suite_pipe(test):
test("ls -l | cat -e | cat | cat | cat", setup="touch a b c d; mkdir m1 m2 m3")
test("ls -l | cat -e | cat -e | cat -e | cat -e", setup="touch a b c d; mkdir m1 m2 m3")
test("ls -l | cat -e < a", setup="touch a b c d; mkdir m1 m2 m3; echo bonjour > a")
- test("echo|", hook=discard, hook_status=platform_status(2, 1))
- test("echo |", hook=discard, hook_status=platform_status(2, 1))
- test("echo | ", hook=discard, hook_status=platform_status(2, 1))
- test("|cat", hook=error_line0, hook_status=platform_status(2, 1))
- test("| cat", hook=error_line0, hook_status=platform_status(2, 1))
- test(" | cat", hook=error_line0, hook_status=platform_status(2, 1))
+ test("echo|", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo |", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo | ", hooks=discard, hook_status=platform_status(2, 1))
+ test("|cat", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("| cat", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(" | cat", hooks=error_line0, hook_status=platform_status(2, 1))
test("echo a | export A=a; echo $A")
test("export A=a | cat; echo $A")
- test("echo bonjour | | cat -e", hook=error_line0, hook_status=platform_status(2, 1))
+ test("echo bonjour | | cat -e", hooks=error_line0, hook_status=platform_status(2, 1))
test("echo bonjour | asdf")
test("asdf | echo bonjour")
- test("echo a ||| echo b", hook=error_line0, hook_status=platform_status(2, 1))
+ test("echo a ||| echo b", hooks=error_line0, hook_status=platform_status(2, 1))
test("ls " + 40 * " | ls", setup="touch a b c")
test("ls " + 80 * " | ls", setup="touch a b c")
test("echo bonjour " + 40 * " | cat -e")
@@ -110,13 +110,13 @@ def suite_and(test):
test("echo bonjour&& echo je")
test("echo bonjour &&echo je")
test("echo bonjour && echo je")
- test("echo bonjour&&", hook=discard, hook_status=platform_status(2, 1))
- test("echo&& ", hook=discard, hook_status=platform_status(2, 1))
- test("echo && ", hook=discard, hook_status=platform_status(2, 1))
- test("echo &&", hook=discard, hook_status=platform_status(2, 1))
- test("&&echo", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& echo", hook=error_line0, hook_status=platform_status(2, 1))
- test(" && echo", hook=error_line0, hook_status=platform_status(2, 1))
+ test("echo bonjour&&", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo&& ", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo && ", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo &&", hooks=discard, hook_status=platform_status(2, 1))
+ test("&&echo", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& echo", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(" && echo", hooks=error_line0, hook_status=platform_status(2, 1))
test("echo a&& echo b&& echo c&& echo d&& echo e&& echo f&& echo g&& echo h&& echo i&&"
"echo j&& echo k&& echo l&& echo m&& echo c&& echo c&& echo c&& echo c&& echo c&&"
"echo c&& echo c&& echo c&& echo v&& echo w&& echo x&& echo y&& echo z")
@@ -136,13 +136,13 @@ def suite_or(test):
test("echo bonjour|| echo je")
test("echo bonjour ||echo je")
test("echo bonjour || echo je")
- test("echo bonjour||", hook=discard, hook_status=platform_status(2, 1))
- test("echo|| ", hook=discard, hook_status=platform_status(2, 1))
- test("echo || ", hook=discard, hook_status=platform_status(2, 1))
- test("echo ||", hook=discard, hook_status=platform_status(2, 1))
- test("||echo", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| echo", hook=error_line0, hook_status=platform_status(2, 1))
- test(" || echo", hook=error_line0, hook_status=platform_status(2, 1))
+ test("echo bonjour||", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo|| ", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo || ", hooks=discard, hook_status=platform_status(2, 1))
+ test("echo ||", hooks=discard, hook_status=platform_status(2, 1))
+ test("||echo", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| echo", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(" || echo", hooks=error_line0, hook_status=platform_status(2, 1))
test("echo a|| echo b|| echo c|| echo d|| echo e|| echo f|| echo g|| echo h|| echo i||"
"echo j|| echo k|| echo l|| echo m|| echo c|| echo c|| echo c|| echo c|| echo c||"
"echo c|| echo c|| echo c|| echo v|| echo w|| echo x|| echo y|| echo z")
@@ -216,81 +216,81 @@ def suite_parenthesis(test):
test("(cat /etc/shells) | (cat -e) | (cat -e) | (cat -e)")
test("(cat /etc/shells) | (cat -e) | (cat -e) | (cat -e) | (cat -e) | (cat -e) | (cat -e) | (cat -e) | (cat -e)")
test("(cat /etc/shells | (cat -e) | (cat -e) | (cat -e)",
- hook=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
+ hooks=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
test("(cat /etc/shells) | (cat -e) | (cat -e | (cat -e)",
- hook=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
+ hooks=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
@suite()
def suite_syntax_error(test):
""" separator syntax error test """
- test("< | a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> | a", hook=error_line0, hook_status=platform_status(2, 1))
- test(">> | a", hook=error_line0, hook_status=platform_status(2, 1))
- test("< ; a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> ; a", hook=error_line0, hook_status=platform_status(2, 1))
- test(">> ; a", hook=error_line0, hook_status=platform_status(2, 1))
- test("; | a", hook=error_line0, hook_status=platform_status(2, 1))
- test("; < a", hook=error_line0, hook_status=platform_status(2, 1))
- test("; > a", hook=error_line0, hook_status=platform_status(2, 1))
- test("; >> a", hook=error_line0, hook_status=platform_status(2, 1))
- test("| ; a", hook=error_line0, hook_status=platform_status(2, 1))
- test("| < a", hook=error_line0, hook_status=platform_status(2, 1))
- test("| > a", hook=error_line0, hook_status=platform_status(2, 1))
- test("| >> a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> a ; a", hook=error_line0)
- test("< a ; a", hook=error_line0)
- test(">> a ; a", hook=error_line0)
- test(Config.lorem + " > >" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " < <" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " ; |" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " | ;" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
+ test("< | a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> | a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(">> | a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("< ; a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> ; a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(">> ; a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("; | a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("; < a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("; > a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("; >> a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("| ; a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("| < a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("| > a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("| >> a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> a ; a", hooks=error_line0)
+ test("< a ; a", hooks=error_line0)
+ test(">> a ; a", hooks=error_line0)
+ test(Config.lorem + " > >" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " < <" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " ; |" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " | ;" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
@suite(bonus=True)
def suite_syntax_error_bonus(test):
""" separator syntax error bonus test """
- test("< && a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> && a", hook=error_line0, hook_status=platform_status(2, 1))
- test(">> && a", hook=error_line0, hook_status=platform_status(2, 1))
- test("< || a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> || a", hook=error_line0, hook_status=platform_status(2, 1))
- test(">> || a", hook=error_line0, hook_status=platform_status(2, 1))
- test("< ( a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> ( a", hook=error_line0, hook_status=platform_status(2, 1))
- test(">> ( a", hook=error_line0, hook_status=platform_status(2, 1))
- test("< ) a", hook=error_line0, hook_status=platform_status(2, 1))
- test("> ) a", hook=error_line0, hook_status=platform_status(2, 1))
- test(">> ) a", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& < a", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& > a", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& >> a", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& || a", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& ( a", hook=error_line0, hook_status=platform_status(2, 1))
- test("&& ) a", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| < a", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| > a", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| >> a", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| && a", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| ( a", hook=error_line0, hook_status=platform_status(2, 1))
- test("|| ) a", hook=error_line0, hook_status=platform_status(2, 1))
- test("( < a", hook=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
- test("( > a", hook=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
- test("( >> a", hook=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
- test(") < a", hook=error_line0, hook_status=platform_status(2, 1))
- test(") > a", hook=error_line0, hook_status=platform_status(2, 1))
- test(") >> a", hook=error_line0, hook_status=platform_status(2, 1))
- test("( && a", hook=error_line0, hook_status=platform_status(2, 1))
- test("( || a", hook=error_line0, hook_status=platform_status(2, 1))
- test("( ) a", hook=error_line0, hook_status=platform_status(2, 1))
- test(") && a", hook=error_line0, hook_status=platform_status(2, 1))
- test(") || a", hook=error_line0, hook_status=platform_status(2, 1))
- test(") ( a", hook=error_line0, hook_status=platform_status(2, 1))
- test("() a", hook=error_line0, hook_status=platform_status(2, 1))
- test("( a", hook=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
- test(") a", hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " && &&" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " || ||" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " ( (" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test(Config.lorem + " ) )" + Config.lorem, hook=error_line0, hook_status=platform_status(2, 1))
- test("(); () ;() ;() ;() ;() ;() ;() ;() ;() ;a", hook=error_line0, hook_status=platform_status(2, 1))
+ test("< && a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> && a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(">> && a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("< || a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> || a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(">> || a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("< ( a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> ( a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(">> ( a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("< ) a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("> ) a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(">> ) a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& < a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& > a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& >> a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& || a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& ( a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("&& ) a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| < a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| > a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| >> a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| && a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| ( a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("|| ) a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("( < a", hooks=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
+ test("( > a", hooks=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
+ test("( >> a", hooks=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
+ test(") < a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(") > a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(") >> a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("( && a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("( || a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("( ) a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(") && a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(") || a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(") ( a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("() a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test("( a", hooks=[error_line0, error_eof_to_expected_token], hook_status=platform_status(2, 1))
+ test(") a", hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " && &&" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " || ||" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " ( (" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test(Config.lorem + " ) )" + Config.lorem, hooks=error_line0, hook_status=platform_status(2, 1))
+ test("(); () ;() ;() ;() ;() ;() ;() ;() ;() ;a", hooks=error_line0, hook_status=platform_status(2, 1))
diff --git a/minishell_test/suites/preprocess.py b/minishell_test/suites/preprocess.py
index e3b5ff5..6e717a1 100644
--- a/minishell_test/suites/preprocess.py
+++ b/minishell_test/suites/preprocess.py
@@ -56,18 +56,18 @@ def suite_quote(test):
test("echo '\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"'")
test('echo "\'"')
test('echo "\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'"')
- test("echo '", hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
- test('echo "', hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
- test("echo '''", hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
- test('echo """', hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
- test("echo '''''''''''''''''''''''''''''''''''''''''''", hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
- test('echo """""""""""""""""""""""""""""""""""""""""""', hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test("echo '", hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test('echo "', hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test("echo '''", hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test('echo """', hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test("echo '''''''''''''''''''''''''''''''''''''''''''", hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test('echo """""""""""""""""""""""""""""""""""""""""""', hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
test("echo 'AH\\'")
- test('echo "AH\\"', hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test('echo "AH\\"', hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
test('echo "AH\\""')
- test("echo '\\''", hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test("echo '\\''", hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
test('echo "\\""')
- test('echo "\\\\""', hook=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
+ test('echo "\\\\""', hooks=hooks.error_line0, hook_status=hooks.platform_status(2, 1))
test('echo bonjour > "fi le"', files=['fi le'])
test("echo bonjour > 'fi le'", files=['fi le'])
@@ -169,7 +169,7 @@ def suite_interpolation(test):
test('echo "@""$A" "@"', exports={"A": " "})
test('echo $A$B$C', exports={"A": "", "B": "", "C": ""})
test('echo bonjour > $A', exports={"A": 'file'}, files=['file'])
- test('echo bonjour > $A', exports={"A": 'fi le'}, files=['fi le'], hook=hooks.error_line0)
+ test('echo bonjour > $A', exports={"A": 'fi le'}, files=['fi le'], hooks=hooks.error_line0)
test('echo bonjour > "$A"', exports={"A": 'fi le'}, files=['fi le'])
test("echo bonjour > '$A'", exports={"A": 'fi le'}, files=['fi le'])
@@ -226,7 +226,7 @@ def suite_escape(test):
test(r"/bin/echo ' \$? '")
test(r"/bin/echo ' \\ '")
test(r"/bin/echo ' \\\ '")
- test("echo \\", hook=hooks.delete_escape)
+ test("echo \\", hooks=hooks.delete_escape)
test("echo \"\\\"\"'bonjour'")
@@ -242,11 +242,11 @@ def suite_spaces(test):
test("\t\t\t\t\t\techo\tfoo")
test("echo\tfoo\t\t\t\t\t\t")
test("\t\t\t\techo\t\t\t\tfoo\t\t\t\t")
- test("\fecho\ffoo", hook=hooks.should_not_be("foo\n"))
- test("\necho\nfoo", hook=hooks.should_not_be("foo\n"))
- test("\recho\rfoo", hook=hooks.should_not_be("foo\n"))
- test("\vecho\vfoo", hook=hooks.should_not_be("foo\n"))
- test("\t\r\v\fecho\v\t\r\vfoo", hook=hooks.should_not_be("foo\n"))
+ test("\fecho\ffoo", hooks=hooks.should_not_be("foo\n"))
+ test("\necho\nfoo", hooks=hooks.should_not_be("foo\n"))
+ test("\recho\rfoo", hooks=hooks.should_not_be("foo\n"))
+ test("\vecho\vfoo", hooks=hooks.should_not_be("foo\n"))
+ test("\t\r\v\fecho\v\t\r\vfoo", hooks=hooks.should_not_be("foo\n"))
test("")
test(" ")
test("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t")