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

88 lines
2.2 KiB
Plaintext
Raw Normal View History

2023-01-31 08:45:52 +04:00
#!/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' ]