88 lines
2.2 KiB
Plaintext
88 lines
2.2 KiB
Plaintext
|
#!/bin/bash
|
||
|
#xcrypted
|
||
|
# Auteur: Denis Payet
|
||
|
# Modification: Pascal Anelli
|
||
|
# 5 Fev 2020
|
||
|
# Session 3
|
||
|
|
||
|
source ${LIBSH}/libeval.sh
|
||
|
|
||
|
#-----------------------------------------
|
||
|
rep=~/Sequence4/A45
|
||
|
challenge=C45Q1
|
||
|
scriptname=ploumploum.sh
|
||
|
exo=$rep/$scriptname
|
||
|
#---------------------------------
|
||
|
# codechecker 6 $challenge
|
||
|
|
||
|
# Debut
|
||
|
firstcheck
|
||
|
|
||
|
# 1 working
|
||
|
$exo banane fraise ananas mangue &>/dev/null
|
||
|
step $(vraifaux $?) "L'execution du script s'effectue sans erreur " true
|
||
|
|
||
|
# 2 display
|
||
|
display=$($exo banane fraise ananas mangue 2>/dev/null)
|
||
|
[ -n "$display" ]
|
||
|
step $(vraifaux $?) "Un resultat s'affiche "
|
||
|
|
||
|
# 3 RANDOM
|
||
|
grep -q RANDOM $exo 2>/dev/null
|
||
|
step $(vraifaux $?) "Le script genere un nombre aleatoire "
|
||
|
|
||
|
# 4 alea & selecteur
|
||
|
grep -q alea $exo 2>/dev/null || grep -q selecteur $exo 2>/dev/null
|
||
|
step $(vraifaux $?) "Le script definit une fonction alea & selecteur"
|
||
|
|
||
|
# 5 verification au moins 1 parametre
|
||
|
$exo 2>&1 | grep -q -i "ERREUR" &>/dev/null
|
||
|
step $(vraifaux $?) "Message \"ERREUR\" en l'absence d'argument "
|
||
|
|
||
|
# 6 verification limite 12
|
||
|
$exo A A A A A A B B B B B B C 2>&1 | grep -q -i "ERREUR" &>/dev/null
|
||
|
step $(vraifaux $?) "Message \"ERREUR\" en cas d'une liste de plus de 12 elements"
|
||
|
|
||
|
#7 accuracy
|
||
|
echo -n "*** Analyse des fonctions dans $scriptname pour "
|
||
|
trap "echo ATTENTION: Evaluation interrompue - supprimez la commande exit en fin de $scriptname pour continuer" EXIT
|
||
|
source $exo verification
|
||
|
|
||
|
[ "c" == "$(selecteur 3 a b c d)" ]
|
||
|
step $(vraifaux $?) "Le selecteur retourne la bonne valeur selectionnee "
|
||
|
|
||
|
# borne
|
||
|
retour=0
|
||
|
catchb=0
|
||
|
catchh=0
|
||
|
for i in $(seq 1 15)
|
||
|
do
|
||
|
alea 2
|
||
|
rang=$?
|
||
|
if [ "$rang" -lt 1 -o "$rang" -gt 2 ] ; then
|
||
|
retour=3
|
||
|
break
|
||
|
fi
|
||
|
[ "$rang" -eq 1 ] && catchb=1
|
||
|
[ "$rang" -eq 2 ] && catchh=1
|
||
|
retour=$((catchb+catchh))
|
||
|
done
|
||
|
# 8 hors bornes
|
||
|
[ $retour -ne 3 ]
|
||
|
step $(vraifaux $?) "Il n'y a pas de nombres tires hors de la plage 1..N "
|
||
|
|
||
|
# 9 nb des limites
|
||
|
[ $retour -eq 2 ]
|
||
|
step $(vraifaux $?) "Les nombres des bornes 1 et N sont sortis au tirage "
|
||
|
|
||
|
|
||
|
trap - EXIT
|
||
|
|
||
|
#--------------------------------
|
||
|
# Fin
|
||
|
status "${challenge}_$res"
|
||
|
exit 0
|
||
|
|
||
|
#---- evaluation code
|
||
|
# listcode = [ '000', '6a0', '332', 'a05', '0c7', 'e03', 'a97', 'f1e', '527', 'fbb' ]
|