mooc/filesystem/usr/evalp2/archives/evalQ432.ses3

91 lines
2.0 KiB
Plaintext
Raw Normal View History

2023-01-31 08:45:52 +04:00
#!/bin/bash
#xcrypted
# Regis Girard
# modification session 3: pascal ANELLI
# version 06 Avril 2020
source ${LIBSH}/libeval.sh
#-----------------------------
rep=~/Sequence4/A43
challenge=C43Q2
scriptname=testargu.sh
exo=$rep/$scriptname
#--------------------
# Debut
firstcheck
fich1=/tmp/fich1
fich2=/tmp/fich2
fich3=/tmp/fich3
rep1=/tmp/rep1
rep2=/tmp/rep2
touch $fich1; chmod +rw $fich1 # lecture ecriture
touch $fich2; chmod -r+w $fich2 # ecriture
touch $fich3; chmod +r-w $fich3 # lecture
rm -rf $rep1 $rep2 &>/dev/null
mkdir $rep1 $rep2
chmod -x $rep2 # non consultable
# code retour des erreurs
# 1
$exo &>/dev/null
[ $? -eq 3 ]
step $(vraifaux $?) "Le code retour vaut 3 en l'absence d'arguments "
# 2
$exo $fich1 &>/dev/null
[ $? -eq 3 ]
step $(vraifaux $?) "Le code retour vaut 3 en l'absence de 2 arguments "
# 3
$exo $fich1 $fich1 $fich1 $fich1 &>/dev/null
[ $? -eq 3 ]
step $(vraifaux $?) "Le code retour vaut 3 s'il y a plus de 3 arguments "
# 4
$exo $fich2 $rep1 &>/dev/null
[ $? -eq 4 ]
step $(vraifaux $?) "Le code retour vaut 4 quand le premier argument n'est pas correct "
# 5
$exo $fich1 $rep2 &>/dev/null
[ $? -eq 5 ]
step $(vraifaux $?) "Le code retour vaut 5 quand le deuxieme argument n'est pas correct "
# 6
$exo $fich1 $rep1 -12 &>/dev/null
[ $? -eq 6 ]
step $(vraifaux $?) "Le code retour vaut 6 quand le troisieme argument n'est pas correct"
# Cas corrects
# 7
display=$($exo $fich1 $rep1 2>/dev/null)
step $(vraifaux $?) "Avec deux arguments corrects, le script retourne 0 "
# 8
[ "$display" -eq 999 ]
step $(vraifaux $?) "Avec deux arguments corrects, le script affiche 999 "
# 9
display=$($exo $fich1 $rep1 3 2>/dev/null)
step $(vraifaux $?) "Avec trois arguments, le script retourne 0 "
#10
[ "$display" -eq 3 ]
step $(vraifaux $?) "Avec trois arguments, le script affiche l'entier "
#-----------------------------------------
# Fin
status "${challenge}_$res"
exit 0
# listcode = [ '000', 'a44', '28e', '24f', 'ebf', 'd12', '9f7', 'ff6', '4bc', '81a', '67a' ]