mooc/filesystem/usr/evalp2/evalC443

69 lines
2.0 KiB
Bash

#!/bin/bash
#xcrypted
# Auteur: Pascal Anelli
# adaptation session 2 : Denis Payet
source ${LIBSH}/libeval.sh
#-----------------------------------------
rep=/home/alice/Sequence4/A44
challenge=C44Q3
scriptname=format_size.sh
#samplea=3999268865
#3 Gio 742 Mio 0 Kio 1 octets
samplea=3226468353
# 3 Gio 5 Mio 0 Kio 1 octets
sampleb=21569208320
# 20 Gio 90 Mio 0 Kio 0 octets
sample=$samplea
#---------------------------------
# Debut
firstcheck
# 1 working
number=$($rep/$scriptname $sample)
[ $? -eq 0 ] && ((res+=1)) || echo "Le script ne fonctionne pas correctement"
# 2 display
[ -n "$number" ] && ((res+=1)) || echo "Le resultat n'est pas affiché"
# accuracy
set -- $number
typeset -i size=0
[ $# -eq 8 ] && ((res+=1)) || echo "L'affichage produit ne contient pas le bon nombre de mots"
size="$1"
isinteger "$size" && ((res+=1)) || echo "Le nombre de Gio n'est pas un nombre entier"
[ "$size" -eq 3 ] && ((res+=1)) || echo "Le nombre de Gio n'est pas correct"
size="$3"
isinteger "$size" && ((res+=1)) || echo "Le nombre de Mio n'est pas un nombre entier"
[ "$size" -eq 5 ] && ((res+=1)) || echo "Le nombre de Mio n'est pas correct"
size="$5"
isinteger "$size" && ((res+=1)) || echo "Le nombre de Kio n'est pas un nombre entier"
[ "$size" -eq 0 ] && ((res+=1)) || echo "Le nombre de Kio n'est pas correct"
size="$7"
isinteger "$size" && ((res+=1)) || echo "Le nombre d'octets n'est pas un nombre entier"
[ "$size" -eq 1 ] && ((res+=1)) || echo "Le nombre d'octets n'est pas correct"
# test 2
number=$($rep/$scriptname $sampleb)
set -- $number
[ "$1" -eq 20 ] && [ "$3" -eq 90 ] && [ "$5" -eq 0 ] && [ "$7" -eq 0 ]
[ $? -eq 0 ] && ((res+=1)) || echo "Le calcul réalisé par le script n'est pas correct"
# argument missing
$rep/$scriptname &>/dev/null
[ $? -eq 1 ] && ((res+=1)) || echo "Pas d'erreur générée en cas d'absence des arguments"
#-------------------------------------
# Fin
status "${challenge}_$res"
exit 0
# listcode = [ '000', 'df7', 'c7b', '197', '7a4', '894', '08a', '037', '224', '6f7', 'b67', 'b26', '37e', '76b' ]