From 4de409b957a36a376d7a6c35a0ce08fe007c13e8 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Sat, 17 Nov 2018 18:54:59 +0100 Subject: [PATCH] First commit --- messages | 1 + q1.txt | 5 +++++ q2.txt | 8 +++++++ test_q1.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+) create mode 160000 messages create mode 100644 q1.txt create mode 100644 q2.txt create mode 100755 test_q1.sh diff --git a/messages b/messages new file mode 160000 index 0000000..e1f41d3 --- /dev/null +++ b/messages @@ -0,0 +1 @@ +Subproject commit e1f41d37fa105ea24749cf44d731c958ecfc2073 diff --git a/q1.txt b/q1.txt new file mode 100644 index 0000000..008ba09 --- /dev/null +++ b/q1.txt @@ -0,0 +1,5 @@ +:3 +o o:4 +O:0 +n:1 +oui:5 diff --git a/q2.txt b/q2.txt new file mode 100644 index 0000000..7403a94 --- /dev/null +++ b/q2.txt @@ -0,0 +1,8 @@ +fich1 rep1:0 +fich1 rep1 12:0 +fich1:3 +bidon rep1:4 +fich2 rep1:4 +fich1 rep2:5 +fich1 rep1 -99:6 +fich2 rep1 -99:4 diff --git a/test_q1.sh b/test_q1.sh new file mode 100755 index 0000000..aafde57 --- /dev/null +++ b/test_q1.sh @@ -0,0 +1,64 @@ +#!/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" + +while IFS='' read -r i || [[ -n "$line" ]]; do + args=$(echo $i | cut -d: -f1) + e_code=$(echo $i | cut -d: -f2) + msg "\nExécution de la command ${COMMAND} avec les paramètres **${args}**\n" + ret=$(${DIR}${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