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
|
||||
|
||||
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
|
||||
|
||||
COMMANDE=' echo "hugo"
|
||||
cat << EOF
|
||||
hello you
|
||||
EOF'
|
||||
|
||||
echo "$COMMANDE" | bash -i &>file.log
|
||||
#echo "$COMMANDE" | ./minishell &>file.log
|
||||
|
||||
#cat << EOF
|
||||
#hello
|
||||
#EOF
|
||||
|
||||
@@ -34,3 +34,15 @@ rm output
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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