#!/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' ]