mooc/filesystem/usr/evalp2/archives/evalQ422.ses3

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' ]