mooc/www/sys/fs/usr/script/evalQ421

57 lines
1.9 KiB
Bash

#!/bin/bash
# Regis Girard
# version 2019-13-06
source ${LIBSH}/libeval.sh
#-----------------------------------------
rep=/home/alice/Sequence4/A42
challenge=C42Q1
scriptname=exo1.sh
log=/tmp/log.txt
res=0
#-----------------------------------------
# Debut
echo "** Evaluation du challenge $challenge **"
if [ ! -f $rep/$scriptname ] || [ ! -x $rep/$scriptname ]
then
echo "Attention: Votre script doit s'appeler $scriptname, etre dans le repertoire $rep et etre executable" >&2
exit 1
fi
$rep/exo1.sh a b c 2>/dev/null
[ $? -eq 0 ] && ((res+=1)) || echo "Le script ne teste pas correctement l'ordre des arguments"
$rep/exo1.sh a a c 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script a un code retour incorrect lorsque au moins deux chaines sont identiques"
$rep/exo1.sh a b b 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script a un code retour incorrect lorsque au moins deux chaines sont identiques"
$rep/exo1.sh a a a 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script a un code retour incorrect lorsque au moins deux chaines sont identiques"
$rep/exo1.sh b c a 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script ne teste pas correctement l'ordre des arguments"
$rep/exo1.sh c b a 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script ne teste pas correctement l'ordre des arguments"
$rep/exo1.sh a b c d 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script ne traite pas correctement les cas où il y a plus de 3 arguments"
$rep/exo1.sh a b 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "VLe script ne traite pas correctement le cas où il n'y a que deux arguments"
$rep/exo1.sh a 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script ne traite pas correctement le cas où il n'y a qu'un argument"
$rep/exo1.sh 2>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Le script ne traite pas correctement le cas où il n'y a pas d'argument"
status $res