71 lines
1.8 KiB
Bash
Executable File
71 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
#xcrypted
|
|
# Auteur: Pascal Anelli
|
|
# Session 3
|
|
# 16 avril 2020
|
|
|
|
source ${LIBSH}/libeval.sh
|
|
|
|
#-----------------------------------------
|
|
rep=~/Sequence4/A44
|
|
challenge=C44Q2
|
|
scriptname=tsize.sh
|
|
exo=$rep/$scriptname
|
|
sample="/tmp/fichier1.txt"
|
|
#---------------------------------
|
|
# Debut
|
|
firstcheck
|
|
|
|
# THE ref value
|
|
printf "%d aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" {1..340} >| "$sample"
|
|
refsize=$(ls -sk "$sample" | tr -s ' ' | sed -e 's/^ //'| cut -d' ' -f1)
|
|
|
|
# 1 working
|
|
$exo "$sample" &>/dev/null
|
|
step $(vraifaux $?) "Le script fonctionne "
|
|
|
|
# 2 display
|
|
output=$($exo "$sample" 2>/dev/null)
|
|
number=${output% *}
|
|
[ -n "$number" ]
|
|
step $(vraifaux $?) "Le resultat est affiche "
|
|
|
|
# 3 is integer
|
|
isinteger "$number"
|
|
step $(vraifaux $?) "Le resultat contient un entier "
|
|
|
|
# 4 accuracy
|
|
[ "$number" -eq "$refsize" ]
|
|
step $(vraifaux $?) "Le calcul est correct pour un fichier "
|
|
|
|
# 5 argument missing
|
|
output=$($exo 2>/dev/null )
|
|
step $(vraifaux $?) "Le script fonctionne en cas d'absence de l'argument"
|
|
|
|
# 6
|
|
number=${output% *}
|
|
[ -n "$number" ]
|
|
step $(vraifaux $?) "Le script affiche la valeur 0 en cas d'absence de l'argument "
|
|
|
|
|
|
# 7 message usage
|
|
$exo -h 2>&1 | grep -q "Usage" &>/dev/null
|
|
step $(vraifaux $?) "Le script affiche l'usage avec l'option -h "
|
|
|
|
# 8 overall size
|
|
number=$($exo Images/* 2>/dev/null)
|
|
[ "${number% *}" -eq 184508 ]
|
|
step $(vraifaux $?) "Le calcul est correct pour tout le contenu du repertoire Images"
|
|
|
|
# 9 utilisation du for
|
|
grep -q -e "^[[:blank:]]*for[[:blank:]]*" $exo 2>/dev/null
|
|
step $(vraifaux $?) "Le script utilise une boucle for "
|
|
|
|
#--------------------------------
|
|
# Fin
|
|
status "${challenge}_$res"
|
|
exit 0
|
|
|
|
# listcode = [ '000', '144', '59a', 'e90', '3fb', 'd8a', '22e', '6de', '33a', '394' ]
|
|
|