#!/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' ]