Renave test.sh

This commit is contained in:
Yorick Barbanneau 2018-11-17 19:23:10 +01:00
parent 3dec024d7b
commit 32dd66f0a8

66
test.sh Executable file
View file

@ -0,0 +1,66 @@
#!/bin/bash
source ./messages/message.sh
COMMAND=""
TEST_FILE=""
PWD=$(pwd)
DIR=""
process_args () {
while :; do
case $1 in
-h|-\?|--help)
usage
exit 0
;;
v|--version)
show_version
exit 0
;;
-s|--script)
COMMAND=$2
shift
;;
-t|--test-file)
[[ ! -f ${PWD}/${2} ]] && error "Test file (${2}) not found"
TEST_FILE=${PWD}/${2}
shift
;;
-d|--directory)
[[ ! -d $2 ]] && error "Directory ${2} not found"
DIR=$2
shift
;;
*)
break
esac
shift
done
}
function usage (){
msg "\n**Script de test de code retour**\n"
msg "Ce script permet de comparer les codes retour attendu et ceux obtenus\n"
msg "Dans le cadre du Mooc bash de la licence ADSILLH\n\n"
}
echo " Hououuuu ${PWD}"
process_args $@
msg "Test $COMMAND script with $TEST_FILE\n\n"
cd $DIR
while IFS='' read -r i || [[ -n "$line" ]]; do
args=$(echo $i | cut -d: -f1)
e_code=$(echo $i | cut -d: -f2)
msg "\nScript *${COMMAND}*, paramètres **${args}**\n"
ret=$(./$COMMAND $args 2>&1)
if [[ $? == $e_code ]]
then
msg "green" "\tLe code de retour est celui attendu (${e_code})\n"
else
msg "yellow" "\tLe code de retour n'est pas correct script : ${#} attendu : ${e_code}\n"
fi
msg "blue" "\tRetour : ${ret}\n"
done < "$TEST_FILE"
exit 0