diff --git a/tests/defaults/builtins.sh b/tests/defaults/builtins.sh index d26bc41..7641f3e 100644 --- a/tests/defaults/builtins.sh +++ b/tests/defaults/builtins.sh @@ -52,8 +52,6 @@ pwd Echo -echo \\ - exit 123 123 123 echo hi @@ -106,199 +104,3 @@ exit 99 exit 3 a exit 55 99 - -echo \poep - -echo \1 - -echo 123\!456 - -echo 123\456 - -echo \a - -echo \b - -echo \c - -echo \d - -echo \e - -echo \! - -echo \" - -echo \# - -echo \$ - -echo \% - -echo \& - -echo \' - -echo \( - -echo \) - -echo \* - -echo \+ - -echo \, - -echo \- - -echo \. - -echo \/ - -echo \0 - -echo \1 - -echo \2 - -echo \3 - -echo \4 - -echo \5 - -echo \6 - -echo \7 - -echo \8 - -echo \9 - -echo \: - -echo \= - -echo \? - -echo \@ - -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 \N - -echo \O - -echo \P - -echo \Q - -echo \R - -echo \S - -echo \T - -echo \U - -echo \V - -echo \W - -echo \X - -echo \Y - -echo \Z - -echo \[ - -echo \\ - -echo \] - -echo \^ - -echo \_ - -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 \n - -echo \o - -echo \p - -echo \q - -echo \r - -echo \s - -echo \t - -echo \u - -echo \v - -echo \w - -echo \x - -echo \y - -echo \z - -echo \{ - -echo \} - -echo \~ diff --git a/tests/defaults/pipes.sh b/tests/defaults/pipes.sh index 5b93e3b..3dc4ae4 100644 --- a/tests/defaults/pipes.sh +++ b/tests/defaults/pipes.sh @@ -46,12 +46,8 @@ ls | ls | ls | ls | ls | ls /proc/self/fd echo | cd .. | pwd -echo DOET HET NIET > test1 | cat test1 - echo hallo >x1 >x2 >x3 | echo hoi -export | grep -e "HOME=" - echo hallo daar | echo hoi maran echo "test test" > working.txt @@ -61,8 +57,6 @@ cat | cat -e | cat ls filedoesnotexist | grep notme | echo "TEST" -export | grep -e "PWD=" - echo hallo daar echo hoi maran echo hallo daar | echo hoi maran @@ -80,14 +74,12 @@ echo hoi echo hallo >x1 >x2 >x3 | echo hoi echo hallo | echo poep >x1 >x2 -echo hallo ; echo poep >x1 >x2 echo hallo | echo hoi | cat echo hallo | echo hoi > y1 >y2 | cat -e echo hoi > y1 >y2 ; cat -e -echo hallo | echo hoi > y1 >y2 ; cat -e echo "hello | this is some stuff > touch this file" | grep more echo hello | this is some stuff > touch this file | grep more diff --git a/tests/defaults/redirections.sh b/tests/defaults/redirections.sh index 3961f64..1b40b63 100644 --- a/tests/defaults/redirections.sh +++ b/tests/defaults/redirections.sh @@ -24,16 +24,8 @@ rm a ls rm a -echo bonjour > test\ 1 -ls -rm test - echo bonjour >>> test -echo bonjour > > out -ls -rm out - echo 2 >> out1 > out2 ls rm out1 out2 diff --git a/tests/false_positive.sh b/tests/false_positive.sh index 5757faf..452879e 100644 --- a/tests/false_positive.sh +++ b/tests/false_positive.sh @@ -1,9 +1,5 @@ ulimit -n -echo "bip | bip ; coyotte > < \" " - -echo "\\" - cat Makefile | grep pr | head -n 5 | cd test (mybin) echo $? @@ -12,3 +8,237 @@ echo $? cat Makefile | grep pr | head -n 5 | hello (NA) echo $? + +#--------------------------------------------- +# Race condition, unpredictable behaviour +echo DOET HET NIET > test1 | cat test1 + + +#---------------------------------------------- +# \ Backslash + +echo "bip | bip ; coyotte > < \" " + +echo bonjour > test\ 1 +ls +rm test + +#---------------------------------------------- +# ; Semicolon separator + +echo hallo | echo poep >x1 >x2 +echo hallo ; echo poep >x1 >x2 + +echo hallo | echo hoi > y1 >y2 ; cat -e +echo "hello | this is some stuff > touch this file" | grep more + + +#---------------------------------------------- +# Export builtins + +export | grep -e "HOME=" + +export | grep -e "PWD=" + +#---------------------------------------------- +# \ Echo Backslash + +echo \\ + +echo "\\" + +echo \poep + +echo \1 + +echo 123\!456 + +echo 123\456 + +echo \a + +echo \b + +echo \c + +echo \d + +echo \e + +echo \! + +echo \" + +echo \# + +echo \$ + +echo \% + +echo \& + +echo \' + +echo \( + +echo \) + +echo \* + +echo \+ + +echo \, + +echo \- + +echo \. + +echo \/ + +echo \0 + +echo \1 + +echo \2 + +echo \3 + +echo \4 + +echo \5 + +echo \6 + +echo \7 + +echo \8 + +echo \9 + +echo \: + +echo \= + +echo \? + +echo \@ + +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 \N + +echo \O + +echo \P + +echo \Q + +echo \R + +echo \S + +echo \T + +echo \U + +echo \V + +echo \W + +echo \X + +echo \Y + +echo \Z + +echo \[ + +echo \\ + +echo \] + +echo \^ + +echo \_ + +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 \n + +echo \o + +echo \p + +echo \q + +echo \r + +echo \s + +echo \t + +echo \u + +echo \v + +echo \w + +echo \x + +echo \y + +echo \z + +echo \{ + +echo \} + +echo \~ diff --git a/tests/only_in_interactive_mode.sh b/tests/only_in_interactive_mode.sh new file mode 100644 index 0000000..da8e796 --- /dev/null +++ b/tests/only_in_interactive_mode.sh @@ -0,0 +1,5 @@ +# Tests to execute only in interactive mode with "bash -i" for the same behaviour as minishell + +echo bonjour > > out +ls +rm out diff --git a/unitests.sh b/unitests.sh index cf60d36..0130a92 100644 --- a/unitests.sh +++ b/unitests.sh @@ -20,8 +20,11 @@ cd $(dirname $0) ENDCO="\e[0m" -# globale variables +# copy the executable to current directory MINISHELL="../minishell" + cp $MINISHELL . + +# globale variables TEST_DIR="./tests/" DEFAULT_DIR="./tests/defaults/" UNIT_TEST=0 @@ -39,8 +42,6 @@ cd $(dirname $0) BASH_LOG="./logs/bash_log.txt" MINISHELL_LOG="./logs/minishell_log.txt" -# copy the executable to current directory - cp $MINISHELL . # to delete the files created during the script function delete_files