simplification unitests, suppression options -p1,2,3, logs affiche seulement les tests rates

This commit is contained in:
hugogogo
2021-12-14 16:56:38 +01:00
parent f845b342a2
commit 989c8de771
2 changed files with 623 additions and 214 deletions

View File

@@ -29,204 +29,686 @@ cd ../
cat < ../ cat < ../
# https://github.com/potatokuka/mini_tester/blob/main/test_cmds.txt # https://github.com/potatokuka/mini_tester/blob/main/test_cmds.txt
#
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
# else
/bin/ls /bin/ls
# exit
exit a aa a exit a aa a
# exp"
echo ";;;;;" echo ";;;;;"
# else
/bin/pwd /bin/pwd
# else
ls -la ls -la
# pwd_cd
pwd pwd
# else
/bin/chmod /bin/chmod
# else
/bin/ls -la /bin/ls -la
echo 00\\\'pp ; echo 00\\\\\'pp
echo 00\\\\'pp' ; echo “./hello”. ; echo ./hello ; echo ello # exp"
Echo ; echo \n ' \n this is the; "first line"' ; echo "and right here;;; 'We have the second'" ; echo and" a fe"'w 'here'; with some slash and quotes .' '\' ; echo '\\' ; echo "\\" ; echo "\"" ; echo \\ ; echo \' ; echo \" "\\" "\"" \\ \' \" echo 00\\\'pp
# exp"
echo 00\\\\\'pp
# exp"
echo 00\\\\'pp'
# exp"
echo “./hello”.
# exp"
echo ./hello
# exp"
echo ello
# echo
Echo
# exp"
echo \n ' \n this is the; "first line"'
# exp"
echo "and right here;;; 'We have the second'"
# exp"
echo and" a fe"'w 'here'; with some slash and quotes .' '\'
# exp"
echo '\\'
# exp"
echo "\\"
# exp"
echo "\""
# echo
echo \\
# exp"
echo \'
# exp"
echo \" "\\" "\"" \\ \' \"
# exp$
echo /$"123$USER" echo /$"123$USER"
# pip
echo | cd .. | pwd echo | cd .. | pwd
# pip
echo DOET HET NIET > test1 | cat test1 echo DOET HET NIET > test1 | cat test1
# redr
echo DOET HET NIET > test1
# pip
echo hallo >x1 >x2 >x3 | echo hoi echo hallo >x1 >x2 >x3 | echo hoi
# redr
echo hallo >x1 >x2 >x3
# exp$
echo $POEP hallo echo $POEP hallo
# exp"
echo "hallo$" echo "hallo$"
# exp"
echo "\poep" echo "\poep"
# exp$
echo $/ echo $/
# exp$
echo $ echo $
# exp"
echo "123\"456" echo "123\"456"
# exit
exit 123 123 123 exit 123 123 123
# existatus
exit 1234 exit 1234
echo $? echo $?
# existatus
/bin/ls /bin/ls
echo $? echo $?
# existatus
/bin/ls doesnotexist /bin/ls doesnotexist
echo $? echo $?
echo hi ; echo ; echo ; echo ; export ; env ; echo ; echo ; echo ; echo working ; echo $PWD
ctrl-C # echo
ctrl-D echo hi
ctrl-\
asdf ctrl-C
asdf ctrl-D
cat ctrl-C
asdf ctrl-\
cat ctrl-D
echo \"test\"
echo"
hoi
"
echo echo
echo
echo
# env_exp_uns
export
env
# echo
echo
echo
echo
echo working
# exp$
echo $PWD
# else
ctrl-C
# else
ctrl-D
# else
ctrl-\
# else
asdf ctrl-C
# else
asdf ctrl-D
# else
cat ctrl-C
# else
asdf ctrl-\
# else
cat ctrl-D
# exp"
echo \"test\"
# exp"
echo"
# else
hoi
# exp"
"
# echo
echo
# exp$
hallo$ hallo$
# env_exp_uns
env env
export ; export a="\\" ; export b='\\' ; export c="\b" ; export
# env_exp_uns
export
export a="\\"
export b='\\'
export c="\b"
export
env env
export a=hijdoehet ; export
export test=working ; export # env_exp_uns
export a=hijdoehet
export
env
# env_exp_uns
export test=working
export
env
# env_exp_uns
export test1 export test1
env
# env_exp_uns
export export
env
# env_exp_uns
export test1= export test1=
export env
# env_exp_uns
export 1test export 1test
env
# env_exp_uns
export _TEST=DOethetwelmetunderscore export _TEST=DOethetwelmetunderscore
env env
env ; echo ; export a=hijdoehet ; echo ; env ; echo ; export test=working;echo ;env ; echo ; export test1; export; echo ; env ; echo ; export test1= ; echo ; env
# env_exp_uns
env
echo
export a=hijdoehet
echo
env
# env_exp_uns
echo
export test=working
echo
env
# env_exp_uns
echo
export test1
export export
echo
env
# env_exp_uns
echo
export test1=
echo
env
# env_exp_uns
export ZZZ export ZZZ
export ZZZ= export ZZZ=
export ; export a="\\" ; export b='\\' ; export c="\b" ; export env
export LS="ls -la" ; ls
# exp"
export a="\\"
# exp"
export b='\\'
# exp"
export c="\b"
# exp$
export LS="ls -la"
$LS
# env_exp_uns
export TEST="evenchecken" export TEST="evenchecken"
echo $TEST echo $TEST
unset a ; env ; unset test ; unset test1 ; env
# env_exp_uns
unset a
env
unset test
unset test1
env
# env_exp_uns
unset PATH unset PATH
ls ls
wc wc
awk awk
echo $PWD ; echo $HOME ; echo "$PWD" ; echo '$PWD' ; echo "$HOME"
cd .. # exp$
pwd echo $PWD
/bin/ls
cd .. # exp$
pwd echo $HOME
/bin/ls
cd notworking # exp"
cd . echo "$PWD"
cd .. ;pwd;/bin/ls;cd .. ; pwd ;/bin/ls; cd notworking; cd .
cd ~ # exp"
cd $IETSONBESTAANDS
cd $GEK ..
cd $NOTHING $MORENOTHING ..
pwd
pwd .
pwd ..
cd ../Desktop
ls -la
echo > ilovewords.txt count me ; wc ilovewords.txt
awk '{ print }' /etc/passwd
export PATH="test:working:multiplepath:directory1:directory2"
export
echo 'how are you'
echo '$PWD' echo '$PWD'
echo > "hardesttest.txt"
echo adding stuff >> working.txt # exp"
echo more stuff >> working.txt echo "$HOME"
echo > working.txt
echo dit > test1 gaat > test2 goed > test3 # pwd_cd / env_exp_uns / exit / existatus / else
echo dit > test1 gaat > test2 goed > test3 > test4 cd ..
cat < test4 pwd
< test4 cat
> newfile ; > working.txt
< working.txt
< notworking.txt
echo > doethet ; echo hoi >> doethet "of niet" ; echo clear > "doethet" ; echo test > working.txt ; echo > newfile.txt hardertest
export | grep -e "HOME="
echo hallo daar | echo hoi maran
cat working.txt | grep stuff | echo tim
cat | cat -e | cat
ls filedoesnotexist | grep notme | echo "TEST"
export | grep -e "PWD="
echo
echo hallo daar
"echo" hallo daar
echo "hallo daar"
echo hallo daar | echo hoi maran
echo hallo daar ; echo hoi maran
echo hallo >file1 >file2
echo hallo >file1 >file2 maran
echo hallo >file1 >file2 >>file3 maran siemons
echo hallo <file1 >file2
echo $USER""
echo $USER"
echo $USER_
cd
export
export ZZZ
export ZZZ=
export ZZZ=new_value
export ZZZ======new
export ZZZ=new YYY=new2 XXX===new3
export $USER
export TEST=$USER4857987345
export 123$USER---
export MARANSIEMONS
export MARANSIEMONS=lief
echo $
echo 123$USER----
echo 123$USER----$
echo abc$USERdef
echo abc$USER123
echo abc$POEPdef
echo $USER "$USER" '$USER'
export TEST_$USER=hallo$LOGNAME
echo $POEP
echo $POEP $MEERPOEP
echo hallo $POEP
hallo
echo $POEP hallo
hallo
export TEST=/Users/maran/Desktop/minishell
cd $IETSONBESTAANDS
cd $IETSONBESTAANDS
cd $POEP $MEERPOEP ..
echojhdfjhjdkh
echo | poep
echo | cd .. | pwd
echo
echo
echo hoi
cd poep
ls
"ls"
test
exit
exit 99
exit 3 a
exit 55 99
/bin/ls /bin/ls
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd notworking
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd .
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd .. ;pwd;/bin/ls;cd .. ; pwd ;/bin/ls; cd notworking; cd .
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd ~
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd $IETSONBESTAANDS
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd $GEK ..
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd $NOTHING $MORENOTHING ..
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
pwd
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
pwd .
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
pwd ..
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd ../Desktop
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
ls -la
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo > ilovewords.txt count me ; wc ilovewords.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
awk '{ print }' /etc/passwd
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export PATH="test:working:multiplepath:directory1:directory2"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo 'how are you'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo '$PWD'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo > "hardesttest.txt"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo adding stuff >> working.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo more stuff >> working.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo > working.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo dit > test1 gaat > test2 goed > test3
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo dit > test1 gaat > test2 goed > test3 > test4
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cat < test4
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
< test4 cat
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
> newfile ; > working.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
< working.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
< notworking.txt
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo > doethet ; echo hoi >> doethet "of niet" ; echo clear > "doethet" ; echo test > working.txt ; echo > newfile.txt hardertest
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export | grep -e "HOME="
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo daar | echo hoi maran
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cat working.txt | grep stuff | echo tim
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cat | cat -e | cat
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
ls filedoesnotexist | grep notme | echo "TEST"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export | grep -e "PWD="
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo daar
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
"echo" hallo daar
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo "hallo daar"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo daar | echo hoi maran
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo daar ; echo hoi maran
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo >file1 >file2
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo >file1 >file2 maran
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo >file1 >file2 >>file3 maran siemons
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo <file1 >file2
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $USER""
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $USER"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $USER_
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export ZZZ
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export ZZZ=
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export ZZZ=new_value
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export ZZZ======new
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export ZZZ=new YYY=new2 XXX===new3
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export $USER
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export TEST=$USER4857987345
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export 123$USER---
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export MARANSIEMONS
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export MARANSIEMONS=lief
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo 123$USER----
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo 123$USER----$
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo abc$USERdef
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo abc$USER123
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo abc$POEPdef
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $USER "$USER" '$USER'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export TEST_$USER=hallo$LOGNAME
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $POEP
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $POEP $MEERPOEP
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo $POEP
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
hallo
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo $POEP hallo
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
hallo
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
export TEST=/Users/maran/Desktop/minishell
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd $IETSONBESTAANDS
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd $IETSONBESTAANDS
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd $POEP $MEERPOEP ..
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echojhdfjhjdkh
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo | poep
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo | cd .. | pwd
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hoi
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
cd poep
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
ls
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
"ls"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
test
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
exit
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
exit 99
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
exit 3 a
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
exit 55 99
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
/bin/ls
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
/binn/ls /binn/ls
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo 'ma\"ran' siemons echo hallo 'ma\"ran' siemons
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
hallo ma\"ran siemons hallo ma\"ran siemons
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo 'ma\'ran' siemons echo hallo 'ma\'ran' siemons
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
Multiple line error Multiple line error
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo hallo 'ma\'ran'' siemons echo hallo 'ma\'ran'' siemons
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
hallo ma\ran siemons Hij ziet de \ niet als escape, print gewoon \ hallo ma\ran siemons Hij ziet de \ niet als escape, print gewoon \
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo 'ma\' Hij ziet de \ niet als escape, print gewoon \ echo 'ma\' Hij ziet de \ niet als escape, print gewoon \
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
ma\ ma\
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo 'hallo$USER' echo 'hallo$USER'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
hallo$USER hallo$USER
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo 'hallo\$USER' echo 'hallo\$USER'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
hallo\$USER hallo\$USER
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo '\$?' echo '\$?'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
\$? \$?
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo '$USER' echo '$USER'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
$USER $USER
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo '\$USER' echo '\$USER'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
\$USER \$USER
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo '"\$USER"' echo '"\$USER"'
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
"\$USER" "\$USER"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo "hallo"maran" echo "hallo"maran"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo "\poep" echo "\poep"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
\poep \poep
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo \poep echo \poep
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
poep poep
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo "poep\"" echo "poep\""
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
poep" poep"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
echo "poep\'" echo "poep\'"
# pip / exp" / exp$ / herd / redr / echo / pwd_cd / env_exp_uns / exit / existatus / else
poep\' poep\'
echo "poep\" echo "poep\"
echo "hallo\"\poep" echo "hallo\"\poep"

View File

@@ -33,8 +33,6 @@ DEFAULT_DIR="./tests/defaults/"
TOTAL_TEST=0 TOTAL_TEST=0
TOTAL_SUCCESS=0 TOTAL_SUCCESS=0
LINE_NUMBER=0 LINE_NUMBER=0
OPTION=0
PRINT=0
FILES_BEFORE="$(ls .)" FILES_BEFORE="$(ls .)"
mkdir -p ./logs mkdir -p ./logs
echo "" > ./logs/bash_log.txt echo "" > ./logs/bash_log.txt
@@ -48,41 +46,14 @@ DEFAULT_DIR="./tests/defaults/"
# print usage # print usage
function print_usage function print_usage
{ {
echo -en "$GREEN" echo -en $GREEN"usage : "
echo " usage :" echo -en $CYAN"bash unitest.sh [help] [files list ...]\n"
echo -en "$ENDCO" echo -en $GREEN"\n[help]\n"
echo -en "$CYAN" echo -en $CYAN"print usage\n"
echo " > bash test_unit.sh [options] [list files...]" echo -en $GREEN"\n[files list ...] if empty, defaults files will be used :\n"
echo -en "$ENDCO" echo -en $CYAN"$default_files"
echo "" echo -en $ENDCO"\n"
echo -en "$GREEN" echo ""
echo " if no files are given in parameters, the defaults will be used"
echo " defaults files :"
echo -en "$ENDCO"
echo -en "$CYAN"
echo "$default_files"
echo -en "$ENDCO"
echo ""
echo -en "$GREEN"
echo " options :"
echo -en "$ENDCO"
echo -en "$CYAN"
echo " help - print usage"
echo " -p1 - prints errors"
echo " -p2 - prints errors and commands"
echo " -p3 - prints errors and commands and errors output"
echo -en "$ENDCO"
echo ""
echo -en "$GREEN"
echo " tests files are formated with the following rules :"
echo -en "$ENDCO"
echo -en "$CYAN"
echo " - a line starting with # is skipped"
echo " - an empty line separate two sets of commands"
echo " - other lines are commands"
echo " - multiples lines in a row are executed as following commands"
echo -en "$ENDCO"
echo ""
} }
# to delete the files created during the script # to delete the files created during the script
@@ -101,38 +72,14 @@ DEFAULT_DIR="./tests/defaults/"
list_files="$default_files" list_files="$default_files"
if [ $# -gt 0 ] if [ $# -gt 0 ]
then then
START=1
if [ "$1" == "help" ] if [ "$1" == "help" ]
then then
print_usage print_usage
delete_files delete_files
exit 0 exit 0
elif [ "$1" == "-p1" ] else
then
PRINT=1
OPTION=1
elif [ "$1" == "-p2" ]
then
PRINT=2
OPTION=1
elif [ "$1" == "-p3" ]
then
PRINT=3
OPTION=1
fi
if [ $OPTION -eq 1 ]
then
if [ $# -eq 1 ]
then
START=0
else
START=2
fi
fi
if [ $START -gt 0 ]
then
list_files="" list_files=""
for (( i = $START ; i <= "$#" ; i++ )) for (( i = 1 ; i <= "$#" ; i++ ))
do do
# the ! is for indirect parameter expansion # the ! is for indirect parameter expansion
# $i expand in integers 1,2,3... # $i expand in integers 1,2,3...
@@ -150,6 +97,7 @@ DEFAULT_DIR="./tests/defaults/"
else else
print_usage print_usage
echo " <$FILE> is not a valid file or option, see usage above" echo " <$FILE> is not a valid file or option, see usage above"
exit 0
fi fi
done done
fi fi
@@ -170,20 +118,10 @@ DEFAULT_DIR="./tests/defaults/"
# function that will launch the command in bash and minishell and compare them # function that will launch the command in bash and minishell and compare them
function test_minishell function test_minishell
{ {
# if -p2|3, print which command is about to be executed
if [ $PRINT -gt 1 ]
then
NEXT_CMD="command line $(( $LINE_NUMBER - 1 )) : "
print_next_command "$NEXT_CMD" "$@" "$CYAN"
fi
# execute commands in bash, and logs results # execute commands in bash, and logs results
bash_execution=$( echo "$@" | bash 2>/dev/null ) bash_execution=$( echo "$@" | bash 2>/dev/null )
echo -e $B_WHITE"\n\n$@\n-----------"$ENDCO >>$BASH_LOG
echo "$bash_execution" >> $BASH_LOG
minishell_execution=$( echo "$@" | ./minishell 2>/dev/null ) minishell_execution=$( echo "$@" | ./minishell 2>/dev/null )
echo -e $B_WHITE"\n\n$@\n-----------"$ENDCO >>$MINISHELL_LOG
echo "$minishell_execution" >> $MINISHELL_LOG
#compare output #compare output
if [ "$bash_execution" = "$minishell_execution" ] if [ "$bash_execution" = "$minishell_execution" ]
@@ -191,24 +129,13 @@ DEFAULT_DIR="./tests/defaults/"
(( SUCCESS_TEST++ )) (( SUCCESS_TEST++ ))
(( TOTAL_SUCCESS++ )) (( TOTAL_SUCCESS++ ))
else else
# if -p1..3 print error for command ERROR_CMD="ERROR line $(( $LINE_NUMBER - 1 )), command : "
if [ $PRINT -eq 1 ] print_next_command "$ERROR_CMD" "$@" "$CYAN"
then # print simple log
ERROR_CMD="ERROR line $(( $LINE_NUMBER - 1 )), command : " echo -e $B_WHITE"\n\n$@\n-----------"$ENDCO >>$BASH_LOG
print_next_command "$ERROR_CMD" "$@" "$B_RED" echo "$bash_execution" >> $BASH_LOG
elif [ $PRINT -eq 2 ] echo -e $B_WHITE"\n\n$@\n-----------"$ENDCO >>$MINISHELL_LOG
then echo "$minishell_execution" >> $MINISHELL_LOG
echo -e $B_RED" "'\'" ERROR"$ENDCO
elif [ $PRINT -eq 3 ]
then
echo -e $B_RED" "'\'" ERROR"$ENDCO
echo -e $B_MAGENTA"[bash execution] :"$ENDCO
echo "$@" | bash -i
echo ""
echo -e $B_MAGENTA"[minishell execution] :"$ENDCO
echo "$@" | ./minishell
echo ""
fi
fi fi
} }