ajouts des tests discord
This commit is contained in:
@@ -1,27 +0,0 @@
|
|||||||
[01;32msimplonco@simplonco-Latitude-E6320[00m:[01;34m~/Nextcloud/informatique/42/minishell/minishell/tests/unit_tes
|
|
||||||
sts[00m$ echo "hugo"
|
|
||||||
hugo
|
|
||||||
[01;32msimplonco@simplonco-Latitude-E6320[00m:[01;34m~/Nextcloud/informatique/42/minishell/minishell/tests/unit_tes
|
|
||||||
sts[00m$ cat << EOF
|
|
||||||
>
|
|
||||||
file.log unitests.sh ut_expensions.sh ut_to_do_manually.sh
|
|
||||||
logs/ ut_bonus.sh ut_heredocs.sh ut_vrac.sh
|
|
||||||
minishell ut_builtins.sh ut_pipes.sh wip/
|
|
||||||
tests_discord.md ut_exit_status.sh ut_redirections.sh
|
|
||||||
>
|
|
||||||
file.log unitests.sh ut_expensions.sh ut_to_do_manually.sh
|
|
||||||
logs/ ut_bonus.sh ut_heredocs.sh ut_vrac.sh
|
|
||||||
minishell ut_builtins.sh ut_pipes.sh wip/
|
|
||||||
tests_discord.md ut_exit_status.sh ut_redirections.sh
|
|
||||||
> hello you
|
|
||||||
>
|
|
||||||
file.log unitests.sh ut_expensions.sh ut_to_do_manually.sh
|
|
||||||
logs/ ut_bonus.sh ut_heredocs.sh ut_vrac.sh
|
|
||||||
minishell ut_builtins.sh ut_pipes.sh wip/
|
|
||||||
tests_discord.md ut_exit_status.sh ut_redirections.sh
|
|
||||||
>
|
|
||||||
file.log unitests.sh ut_expensions.sh ut_to_do_manually.sh
|
|
||||||
logs/ ut_bonus.sh ut_heredocs.sh ut_vrac.sh
|
|
||||||
minishell ut_builtins.sh ut_pipes.sh wip/
|
|
||||||
tests_discord.md ut_exit_status.sh ut_redirections.sh
|
|
||||||
> EOF
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
|||||||
rotrojan (Romain) — 06/10/2021
|
|
||||||
si tu veux on m'a passé quelques listes de tests sympas ... 😈
|
|
||||||
|
|
||||||
fd leaks:
|
|
||||||
```
|
|
||||||
ulimit -n # nombre de fd dispo max (pour expliquer le principe de fd leaks a l'evalué)
|
|
||||||
ls /proc/self/fd # affiche le nombre fd utilisés par le process enfant il faut donc repeter cette commande plusieurs fois lors de la correction pour verifier les fd leaks
|
|
||||||
ls | ls | ls /proc/self/fd # regarder le nombre de fd
|
|
||||||
ls | ls | ls | ls | ls | ls /proc/self/fd # le nombre de fd doit etre le meme que la ligne d'avant!
|
|
||||||
# essayer aussi avec des redirections!
|
|
||||||
```
|
|
||||||
trivialités:
|
|
||||||
```
|
|
||||||
#lancer minishell comme ceci puis faire des bails
|
|
||||||
env -i ./minishell
|
|
||||||
|
|
||||||
# redirections:
|
|
||||||
>test # doit creer test
|
|
||||||
>>test # doit creer test
|
|
||||||
<test # doit essayer d'ouvrir test
|
|
||||||
cat <a <b >c >d # input b output d
|
|
||||||
# pipes
|
|
||||||
ls | cat # affiche ls
|
|
||||||
cat | ls # doit afficher ls puis doit exit apres un \n
|
|
||||||
# les redirections doivent etre faites APRES les pipes, (donc sont prioritaires par ecrasement)
|
|
||||||
cat a | < b cat | cat > c | cat # b doit etre copié dans c, rien ne doit etre ecrit dans stdout
|
|
||||||
# execution
|
|
||||||
./non_executable # permission denied exit code 126
|
|
||||||
./directory
|
|
||||||
non_executable # avec non_executable dans un dossier du path, permission denied
|
|
||||||
cat < directory
|
|
||||||
```
|
|
||||||
parsing :
|
|
||||||
```
|
|
||||||
export A="s -la" #puis faire
|
|
||||||
l$A #doit executer un ls -la (donc que le split se fait apres le remplacement de var d'env)
|
|
||||||
|
|
||||||
export A=p #puis faire
|
|
||||||
export B=w #puis faire
|
|
||||||
$A"$B"d #doit executer un pwd, puis faire
|
|
||||||
"$A"'$B'd #ne doit pas faire de pwd car les var d'env ne sont pas remplacee dans les simple quote
|
|
||||||
|
|
||||||
echo "ls -la <a | grep x > b" #doit afficher "ls -la <a | grep x > b"
|
|
||||||
echo ok "" ok #doit avoir deux espaces car "" est un argument vide mais est un argument
|
|
||||||
echo ok "" "" "" "" "" "" "" "" "" ok #pour mieux voir ce qui est avant
|
|
||||||
|
|
||||||
export OK="ok ok" #puis faire
|
|
||||||
echo $OK #doit afficher "ok ok" (un seul espace entre les deux, echo prends deux arguments)
|
|
||||||
|
|
||||||
# si il y a le ; qui est fait
|
|
||||||
unset A #pour etre sur que la variable d'environnement existe pas puis faire la suite sur une autre ligne de commande
|
|
||||||
export A=ok; echo $A #doit afficher un ok
|
|
||||||
```
|
|
||||||
https://github.com/t0mm4rx/minishell_tests
|
|
||||||
|
|
||||||
@dkoriaki (Daniel) plusieurs de ces tests ne sont plus pertinents car ils concernaient l'ancien sujet de minishell, mais la plupart restent quand même intéressants
|
|
||||||
@@ -33,3 +33,20 @@ echo '$HOME'
|
|||||||
|
|
||||||
echo \$HOME
|
echo \$HOME
|
||||||
|
|
||||||
|
export A="s -la"
|
||||||
|
l$A
|
||||||
|
|
||||||
|
export A=p
|
||||||
|
export B=w
|
||||||
|
$A"$B"d
|
||||||
|
"$A"'$B'd
|
||||||
|
|
||||||
|
echo "ls -la <a | grep x > b"
|
||||||
|
|
||||||
|
echo ok "" ok
|
||||||
|
|
||||||
|
echo ok "" "" "" "" "" "" "" "" "" ok
|
||||||
|
|
||||||
|
export OK="ok ok"
|
||||||
|
echo $OK
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
COMMANDE=' echo "hugo"
|
|
||||||
cat << EOF
|
|
||||||
hello you
|
|
||||||
EOF'
|
|
||||||
|
|
||||||
echo "$COMMANDE" | bash -i &>file.log
|
|
||||||
#echo "$COMMANDE" | ./minishell &>file.log
|
|
||||||
|
|
||||||
#cat << EOF
|
#cat << EOF
|
||||||
#hello
|
#hello
|
||||||
#EOF
|
#EOF
|
||||||
|
|||||||
@@ -34,3 +34,15 @@ rm output
|
|||||||
|
|
||||||
sleep 5 | exit
|
sleep 5 | exit
|
||||||
|
|
||||||
|
ls | cat
|
||||||
|
|
||||||
|
cat | ls
|
||||||
|
|
||||||
|
ulimit -n
|
||||||
|
|
||||||
|
ls /proc/self/fd
|
||||||
|
|
||||||
|
ls | ls | ls /proc/self/fd
|
||||||
|
|
||||||
|
ls | ls | ls | ls | ls | ls /proc/self/fd
|
||||||
|
|
||||||
|
|||||||
@@ -52,3 +52,49 @@ not_cmd bonjour > salut
|
|||||||
ls
|
ls
|
||||||
rm salut
|
rm salut
|
||||||
|
|
||||||
|
>testt
|
||||||
|
ls
|
||||||
|
|
||||||
|
rm testt
|
||||||
|
>>testt
|
||||||
|
ls
|
||||||
|
|
||||||
|
rm testt
|
||||||
|
<testt
|
||||||
|
ls
|
||||||
|
rm testt
|
||||||
|
|
||||||
|
touch testt
|
||||||
|
<testt
|
||||||
|
rm testt
|
||||||
|
|
||||||
|
rm testt
|
||||||
|
<testt
|
||||||
|
rm testt
|
||||||
|
|
||||||
|
cat <a <b >c >d
|
||||||
|
|
||||||
|
echo hello >a
|
||||||
|
echo byebye >b
|
||||||
|
cat <a <b >c >d
|
||||||
|
cat a
|
||||||
|
cat b
|
||||||
|
cat c
|
||||||
|
cat d
|
||||||
|
rm a b c d
|
||||||
|
|
||||||
|
|
||||||
|
cat a | < b cat | cat > c | cat
|
||||||
|
ls
|
||||||
|
rm a b c
|
||||||
|
|
||||||
|
echo hello >a
|
||||||
|
echo byebye >b
|
||||||
|
echo ouf >c
|
||||||
|
cat a | < b cat | cat > c | cat
|
||||||
|
ls
|
||||||
|
cat a
|
||||||
|
cat b
|
||||||
|
cat c
|
||||||
|
rm a b c
|
||||||
|
|
||||||
|
|||||||
@@ -17,3 +17,16 @@ minishell
|
|||||||
|
|
||||||
l^Ds
|
l^Ds
|
||||||
|
|
||||||
|
touch testt
|
||||||
|
chmod 000 testt
|
||||||
|
ls
|
||||||
|
./testt
|
||||||
|
rm -rf testt
|
||||||
|
|
||||||
|
mkdir testt
|
||||||
|
./testt
|
||||||
|
pwd
|
||||||
|
cd ../
|
||||||
|
rm -rf testt
|
||||||
|
|
||||||
|
cat < ../
|
||||||
|
|||||||
Reference in New Issue
Block a user