67 lines
1.7 KiB
Bash
Executable File
67 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
#xcrypted
|
|
# Regis Girard
|
|
# modification session 3: pascal ANELLI
|
|
# version 23 mars 2020
|
|
|
|
source ${LIBSH}/libeval.sh
|
|
|
|
#-----------------------------------------
|
|
rep=~/Sequence4/A42
|
|
challenge=C42Q2
|
|
scriptname=exo2.sh
|
|
exo=$rep/$scriptname
|
|
#-----------------------------------------
|
|
# Debut
|
|
firstcheck
|
|
|
|
err="$(mktemp)"
|
|
sample=/tmp/toto0
|
|
touch $sample ; chmod -w $sample
|
|
|
|
# 1 Working
|
|
$exo $sample &>$err
|
|
step $(vraifaux $?) "Le script fonctionne " true
|
|
|
|
# 2 No display
|
|
$exo &>>$err
|
|
[ ! -s "$err" ]
|
|
step $(vraifaux $?) "Rien ne s'affiche " true
|
|
|
|
# 3 arg missing
|
|
$exo 2>/dev/null
|
|
[ $? -eq 1 ]
|
|
step $(vraifaux $?) "Le script retourne un code erreur si l'argument est absent "
|
|
|
|
# 4 arg is dir
|
|
$exo $rep 2>/dev/null
|
|
[ $? -eq 1 ]
|
|
step $(vraifaux $?) "Le script retourne un code erreur si l'argument est un répertoire"
|
|
|
|
# 5 file is not writable
|
|
chmod u-w $sample
|
|
$exo $sample
|
|
step $(vraifaux $?) "Le script fonctionne correctement pour un fichier ordinaire sans droit d'ecriture pour le proprietaire"
|
|
|
|
# 6 file writable
|
|
chmod u+w $sample
|
|
$exo $sample
|
|
[ $? -eq 1 ]
|
|
step $(vraifaux $?) "Le script retourne un code erreur pour un fichier ordinaire avec droit d'ecriture pour le proprietaire"
|
|
|
|
|
|
chmod u-w $sample
|
|
# 7 ignore other file
|
|
$exo $sample $err 2>/dev/null
|
|
step $(vraifaux $?) "Le script fonctionne correctement quand il y a 2 ou plusieurs fichiers "
|
|
|
|
chmod u+w $sample
|
|
rm -f $sample
|
|
|
|
#-----------------------------------------
|
|
# Fin
|
|
status "${challenge}_$res"
|
|
exit 0
|
|
|
|
# listcode = [ '000', '5a3', 'cdb', '69d', 'b5a', '2ea', '6a8', '05f' ]
|