68 lines
1.8 KiB
Bash
68 lines
1.8 KiB
Bash
#!/bin/bash
|
||
#xcrypted
|
||
# Auteur: Pascal Anelli
|
||
# adaptation session 2 : Denis Payet
|
||
# Régis : modification du nom toto qui est bien trop commun
|
||
|
||
source ${LIBSH}/libeval.sh
|
||
|
||
#-----------------------------------------
|
||
rep=/home/alice/Sequence4/A44
|
||
challenge=C44Q1
|
||
scriptname=size.sh
|
||
sample=/tmp/fichier1.txt
|
||
base=300
|
||
res=0
|
||
#---------------------------------
|
||
# Debut
|
||
firstcheck
|
||
|
||
# THE good value
|
||
printf "%d aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" {1..340} >| $sample
|
||
#[ -f $sample ] || { echo "Erreur: recuperer votre travail et redemarrer la weblinux ; exit 1; }
|
||
sizes=$(ls -l $sample | tr -s ' ' | cut -d' ' -f5)
|
||
|
||
# 1 working
|
||
$rep/$scriptname $sample &>/dev/null
|
||
step $(vrzifaux $?) "Le script fonctionne correctement"
|
||
|
||
|
||
# 2 display
|
||
number=$($rep/$scriptname $sample 2>/dev/null)
|
||
[ -n "$number" ]
|
||
step $(vrzifaux $?) "Le resultat est affiché"
|
||
|
||
# 3 is integer
|
||
isinteger "$number"
|
||
step $(vrzifaux $?) " "Le resultat est un entier"
|
||
|
||
# 4 accuracy
|
||
typeset -i size=${number%.*}
|
||
[ "$size" -eq "$sizes" ]
|
||
step $(vrzifaux $?) "Le calcul est correct"
|
||
|
||
# 5 argument missing
|
||
$rep/$scriptname &>/dev/null
|
||
[ $? -eq 1 ]
|
||
step $(vrzifaux $?) "Un code erreur est retourné en cas d'absence de l'argument"
|
||
|
||
# 6 arguments missing: error message
|
||
$rep/$scriptname 2>&1 | grep -q "Usage" &>/dev/null
|
||
step $(vrzifaux $?) "Affichage de l'usage en cas d'absence de l'argument"
|
||
|
||
# 7 wrong argument
|
||
$rep/$scriptname totoXw78K &>/dev/null
|
||
[ $? -eq 1 ]
|
||
step $(vrzifaux $?) "Un code erreur est retourné en cas de mauvais argument"
|
||
|
||
# 8
|
||
$rep/$scriptname totoXw78K 2>&1 | grep -q "Erreur"
|
||
step $(vrzifaux $?) "Affichage d'un message d'erreur en cas de mauvais argument"
|
||
|
||
#--------------------------------
|
||
# Fin
|
||
status "${challenge}_$res"
|
||
exit 0
|
||
|
||
# listcode = [ '000', '738', '4c8', '988', '629', '10b', 'f6d', '25e', '9aa' ]
|