mooc/filesystem/usr/evalp1/evalQ343a

64 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# v1.0 du 2019.05.30 Tahiry Razafindralambo
# v1.1. du 2019.09.23. Pascal Anelli
source ${LIBSH}/libeval.sh
a=2
b=3
#--------------
challenge=C34Q3a
#--------------
# Debut
banniere $challenge
readline
# 1 ne doit pas contenir la commande expr
[ $(echo "$line" | grep -c 'expr') -eq 0 ]
step $(vraifaux $?) "Votre commande ne contient pas la commande expr" true
# 2 doit contenir un *
[ $(echo "$line" | grep -c '$((') -gt 0 ]
step $(vraifaux $?) "Il y a l'operateur de susbtitution arithmetique"
# 3 doit contenir un i
[ $(echo "$line" | grep -c "i") -gt 0 ]
step $(vraifaux $?) "Il y a la variable i"
# 4 doit contenir un a
[ $(echo "$line" | grep -c "a") -gt 0 ]
step $(vraifaux $?) "Il y a la variable a"
# 5 doit contenir un b
[ $(echo "$line" | grep -c "b") -gt 0 ]
step $(vraifaux $?) "Il y a la variable b"
err="$(mktemp)"
fres="$(mktemp)"
eval $line 1>$fres 2>$err
echo "$i" > "$fres"
# 6 le fichier d'erreur doit etre vide
[ ! -s "$err" ]
step $(vraifaux $?) "Votre calcul ne produit pas erreur" true
# 7 un resultat existe
[ -s "$fres" ]
step $(vraifaux $?) "Un resultat a ete produit" true
# 8 accuracy
[ $(cat "$fres") == "6" ]
step $(vraifaux $?) "Le resultat est juste"
echo -e "\n Le resultat de votre calcul est: $(cat "$fres") \n"
#--------------------------------
# Fin
status "${challenge}_$res"
rm -f "$fres" "$err"
exit 0