mooc/filesystem/usr/evalp1/evalQ421

87 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
#xcrypted
# creation: Regis Girard
# modification session 3: pascal ANELLI
# version 23 mars 2020
source ${LIBSH}/libeval.sh
#-----------------------------------------
rep=~/Sequence4/A42
challenge=C42Q1
scriptname=alphanum.sh
exo=$rep/$scriptname
#-----------------------------------------
# Debut
firstcheck
err="$(mktemp)"
# 1 Working
$exo a b c &>$err
[ $? -eq 0 -a ! -s "$err" ]
step $(vraifaux $?) "Le script fonctionne " true
# 2 No display
$exo &>>$err
[ ! -s "$err" ]
step $(vraifaux $?) "Rien ne s'affiche " true
# 3 3 arguments
$exo a b c 2>/dev/null
step $(vraifaux $?) "Le script fonctionne avec 3 arguments dans l'ordre"
# 4 code retour cas 1
$exo a a c 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script a un code retour correct lorsque les chaines 1 et 2 sont identiques. "
# 5 code retour cas 2
$exo a b b 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script a un code retour correct lorsque les chaines 2 et 3 sont identiques "
# 6 code retour cas 3
$exo a a a 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script a un code retour correct lorsque les chaines 1, 2 et 3 sont identiques"
# 7 order
$exo b c a 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script teste correctement l'ordre des arguments "
# 8 order
$exo c b a 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script teste correctement l'ordre des arguments "
# 9
$exo a b c d 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script traite correctement les cas où il y a plus de 3 arguments"
# 10
$exo a b 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script traite correctement le cas où il n'y a que 2 arguments "
# 11
$exo a 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script traite correctement le cas où il n'y a qu'un argument "
# 12
$exo 2>/dev/null
[ $? -eq 1 ]
step $(vraifaux $? ) "Le script traite correctement le cas où il n'y a pas d'argument "
#--------------------------------
# Fin
status "${challenge}_$res"
exit 0
# listcode = [ '000', 'd1c', 'e3b', '5c8', 'd9e', '187', 'f71', 'e42', 'b3e', 'e78', '09a', '294', '8fb' ]