ajout pleins de tests et correction unitest reconnaissance de fichiers

This commit is contained in:
hugogogo
2021-12-14 22:54:12 +01:00
parent 989c8de771
commit c60c647c33
9 changed files with 1084 additions and 1187 deletions

View File

@@ -1,25 +1,3 @@
#
# EXPORT
#
export var
export var=test
export var ="cat Makefile | grep >"
export "test=ici"=coucou
export LOL=lala ROR=rara
export "HI= hi"
export "HI =hi"
#
# ECHO
#
echo
echo simple
@@ -28,18 +6,10 @@ echo -n simple
echo -n -n -nnnn -nnnnm
#
# PWD
#
pwd a
pwd a b c d
#
# CD
#
cd
pwd
@@ -64,11 +34,175 @@ pwd
cd ../../../../../..
pwd
#
# EXIT
#
exit -10
exit +10
echo bonjour
/bin/echo bonjour
mkdir testt
./testt
cd ./testt
pwd
exit a aa a
pwd
Echo
echo \\
exit 123 123 123
echo hi
echo
echo
echo
echo
echo
echo
echo working
echo
cd ..
pwd
/bin/ls
cd notworking
cd .
cd ..
pwd
/bin/ls
cd ..
pwd
/bin/ls
cd notworking
cd .
cd ~
pwd
pwd .
pwd ..
cd ../Desktop
echo
cd
cd poep
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 \~

View File

@@ -1,21 +1,12 @@
#
# ENV
#
env
export
env
# display is different for both commands
env
export
env
#
# UNSET
#
export BLOU=
env
unset BLOU
@@ -31,3 +22,145 @@ export ""
env
unset ""
env
export var
export var=test
export var ="cat Makefile | grep >"
export "test=ici"=coucou
export LOL=lala ROR=rara
export "HI= hi"
export "HI =hi"
export
env
env
export
export a="\\"
export b='\\'
export c="\b"
export
env
export a=hijdoehet
export
env
export test=working
export
env
export test1
env
export
env
export test1=
env
export 1test
env
export _TEST=DOethetwelmetunderscore
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
export ZZZ
export ZZZ=
env
export TEST="evenchecken"
echo $TEST
unset a
env
unset test
unset test1
env
unset PATH
ls
wc
awk
export PATH="test:working:multiplepath:directory1:directory2"
env
export ZZZ
env
export ZZZ=
env
export ZZZ=new_value
env
export ZZZ======new
env
export ZZZ=new YYY=new2 XXX===new3
env
export $USER
env
export TEST=$USER4857987345
env
export 123$USER---
env
export MARANSIEMONS
env
export MARANSIEMONS=lief
env
export TEST=/Users/maran/Desktop/minishell
export kip=ei=koe===melk
env
export TEST1=test1 TEST2=test2
env
unset TEST1
unset TEST2
env
export TEST1=test1 TEST2=test2
unset TEST1 TEST2
env
export TEST1=test1
export TEST2=test2
unset TEST1 TEST2
env

67
tests/defaults/else.sh Normal file
View File

@@ -0,0 +1,67 @@
touch file_name_in_current_dir
file_name_in_current_dir
not_cmd
minishell
./minishell
l^Ds
touch testt
chmod 000 testt
ls
./testt
/bin/ls
/bin/pwd
ls -la
/bin/chmod
/bin/ls -la
ctrl-C
ctrl-D
ctrl-\
asdf ctrl-C
asdf ctrl-D
cat ctrl-C
asdf ctrl-\
cat ctrl-D
hoi
ls -la
ls
/bin/ls
/binn/ls
$"
$'
123"456
\1
123\!456
123\456
$rewtwet
\maran
hallo\hoi
\hallo
\hallo

View File

@@ -5,3 +5,12 @@ echo $?
exit
echo $?
exit 1234
echo $?
/bin/ls
echo $?
/bin/ls doesnotexist
echo $?

View File

@@ -47,3 +47,589 @@ echo ok "" "" "" "" "" "" "" "" "" ok
export OK="ok ok"
echo $OK
$
echo "exit"
echo "exit\n"
cat < ../
echo ";;;;;"
echo 00\\\'pp
echo 00\\\\\'pp
echo 00\\\\'pp'
echo “./hello”.
echo ./hello
echo ello
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 /$"123$USER"
echo $POEP hallo
echo "hallo$"
echo "\poep"
echo $/
echo $
echo "123\"456"
echo $PWD
echo \"test\"
echo"
"
hallo$
export a="\\"
export b='\\'
export c="\b"
export LS="ls -la"
$LS
echo $PWD
echo $HOME
echo "$PWD"
echo '$PWD'
echo "$HOME"
cd $IETSONBESTAANDS
cd $GEK ..
cd $NOTHING $MORENOTHING ..
echo > ilovewords.txt count me
wc ilovewords.txt
awk '{ print }' /etc/passwd
echo 'how are you'
echo '$PWD'
"echo" hallo daar
echo "hallo daar"
echo $USER""
echo $USER"
echo $"USER"
echo "$USER
echo $USER_
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
echo $POEP hallo
IETSONBESTAANDS=".."
cd $IETSONBESTAANDS
cd $IETSONBESTAANDS
cd $IETSONBESTAANDS
cd $IETSONBESTAANDS
pwd
mkdir directory1
POEP=directory1
cd $POEP $MEERPOEP ..
pwd
mkdir directory1
mkdir directory1/directory2
POEP=directory1
MEERPOEP=directory2
cd $POEP $MEERPOEP ..
pwd
"ls"
echo hallo 'ma\"ran' siemons
hallo ma\"ran siemons
echo hallo 'ma\'ran' siemons
echo hallo 'ma'ran' siemons
echo hallo 'ma\'ran'' siemons
hallo ma\ran siemons Hij ziet de \ niet als escape, print gewoon \
echo 'ma\' Hij ziet de \ niet als escape, print gewoon \
echo 'ma\' Hij ziet de \ niet als escape, print gewoon \
echo 'ma\'
echo ma\
echo 'hallo$USER'
echo hallo$USER
echo 'hallo\$USER'
echo hallo\$USER
echo '\$?'
echo \$?
echo '$USER'
$USER
echo '\$USER'
echo \$USER
echo '"\$USER"'
echo "\$USER"
echo "hallo"maran"
echp hallo"
export ECHO="echo"
$ECHO "hello"
echo "\poep"
echo "poep\""
echo poep"
echo poep"""
echo "poep\'"
echo """
poep\'
echo "poep\"
echo "hallo\"\poep"
hallo"\poep
echo " " "
echo hallo""
hallo
echo "hoi$USERmaran"
echo "$USER"
maran
export TWO=" two "
echo "one "$TWO" three"
echo "one"$TWO" three"
echo "one"$TWO"three"
echo "one" $TWO "three"
export TWO="two"
echo "one"$TWO"three"
echo "one "$TWO"three"
echo "one "$TWO" three"
echo "one"$TWO"three"
echo "one "$TWO"three"
echo "one "$TWO" three"
echo "one" $TWO "three"
echo "'\$USER'"
'$USER'
echo "\$USER"
$USER
echo "123\"456"
123"456
123"456""
echo "\poep"
echo \poep
echo "123\'456"
echo 123\'456
echo "hallo$"
echo hallo$
echo \"
echo "
echo """
echo \$?
echo '$USER'$USER
echo $USERmaran
echo '$USER'$USER\$USER/"$USER"
echo hallo"1234"maran"$USER"'/$USER'"/$USER"'poep''poep2'"maran"'ellende'END
echo hallo1234maranmaran/$USER/maranpoeppoep2maranellendeEND
echo "$USER"'/$USER'
echo maran/$USER
echo 'poep''poep2'"maran"'ellende'END
echo poeppoep2maranellendeEND
echo 'poep2'"maran"'ellende'
echo poep2maranellende
echo 123"hallo$"456
echo $_1234
echo hallo
echo echt bash
echo $USERhallo
echo $hallo"poep"
echo /$"123$USER"
echo $a5aap
echo $_poep
echo hallo$\abc
echo hallo$abc
echo hallo$\\abc
echo hallo$\abc
echo hallo$"USER"
echo halloUSER
echo hallo$"POEP"
echo halloPOEP
echo hallo$'USER'
echo hallo$'USER' '
echo $USER'
echo halloUSER
echo $halllo###
echo $USER9582309582529
echo $
echo $USER
echo $USER'
echo $'
echo '$USER'
echo "$USER"
echo 123$USER----
echo 123$USER----$
echo abc$USERdef
echo abc$USER123
echo abc$POEPdef
echo $%%%%jlkjtwejt
echo %%$
echo $"USERhallo"
echo "$222"
echo "hallo$USER***$USER$2$"
echo "$_poep"
echo "$a5aap"
echo "$halllo###"
echo "$USER9582309582529"
echo "$"
echo hallo"$"abc
echo hallo"$POEP"abc
echo hallo"$USER"abc
echo "$USER"
echo "$USER'"
echo "$USER_"
echo "abc$USERdef"
echo "abc$USER123"
echo "abc$POEPdef"
echo "$%%%%jlkjtwejt"
echo "%%$"
echo $"hallo"
echo $hallo
echo $hallo"poep"
echo "hallo\"\poep"
echo $"etet"
echo "$53535"
echo “$\hallo”
echo $"\hallo"
echo "\\hallo"
echo "hallo\\hoi"
echo "\\$USER"
echo "123\"456"
echo "hallo$USER"
echo "hallo$USER"
echo hallo$abc
echo hallo$abc
echo$rewtwet
echo "\hallo"
echo \hallo
echo "123\$456"
echo "123\\456"
echo "123\!456"
echo "1234"
echo "12\34"
echo "1234\"
echo \"1234"
echo "1\a234"
echo "\1234"
echo "1234\\"
echo '1234\\'
echo '1234'
echo '12\34'
echo '1234\'
echo \'1234'
echo '1\a234'
echo '\1234'
echo '1234\\'
echo '1234\\'
echo '
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 "\?"
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 "\}"
echo "\~"
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 '\?'
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 '\}'
echo '\~'
echo '\;'
echo "\;"
echo '\>'
echo "\>"
echo '\<'
echo "\<"
echo '\|'
echo "\|"

View File

@@ -44,3 +44,56 @@ ls | ls | ls /proc/self/fd
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
cat working.txt | grep stuff | echo tim
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
echo | poep
echo | cd .. | pwd
echo hallo
echo hoi
echo hallo | echo hoi
echo hallo >x1 >x2 >x3
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
env | leaks
cat x1 | grep Makefile
ls > x1
cat x1 | grep main

View File

@@ -98,3 +98,56 @@ cat b
cat c
rm a b c
echo bonjour > $test w/ t
ls
echo > "hardesttest.txt"
echo adding stuff >> working.txt
cat working.txt
echo > working.txt
cat working.txt
echo dit > test1 gaat > test2 goed > test3
cat test1 test2 test3
echo dit > test1 gaat > test2 goed > test3 > test4
cat test1 test2 test3 test4
echo "test test" > test1
cat < test1
echo "test test" > test1
< test1 cat
> newfile
> working.txt
ls
> working.txt
< working.txt
< notworking.txt
echo > doethet
echo hoi >> doethet "of niet"
echo clear > "doethet"
echo test > working.txt
echo > newfile.txt hardertest
ls
cat doethet
echo hallo >file1 >file2
cat file1 file2
echo hallo >file1 >file2 maran
echo hallo >file1 >file2 >>file3 maran
cat file1 file2 file3
echo hallo <file1 >file2
cat file1 file2
echo DOET HET NIET > test1
echo hallo >x1 >x2 >x3

File diff suppressed because it is too large Load Diff

View File

@@ -87,6 +87,12 @@ DEFAULT_DIR="./tests/defaults/"
FILE="${!i/#/$TEST_DIR}"
FILE="${FILE%.sh}"
FILE="${FILE/%/.sh}"
if ! [ -e "$FILE" ]
then
FILE="${!i/#/$DEFAULT_DIR}"
FILE="${FILE%.sh}"
FILE="${FILE/%/.sh}"
fi
if [ -e "$FILE" ]
then
if [ -n "$list_files" ]