Test stdout and stderr now
This commit is contained in:
parent
ee8fdcbc4a
commit
a759c98b95
3 changed files with 59 additions and 16 deletions
10
q431.txt
10
q431.txt
|
@ -1,5 +1,5 @@
|
||||||
:3
|
:3:Vous n'avez pas donné votre réponse
|
||||||
o o:4
|
o o:4:Donnez une seule réponse
|
||||||
O:0
|
O:0:oui
|
||||||
n:1
|
n:1:non
|
||||||
oui:5
|
oui:5:Pas compris
|
||||||
|
|
16
q432.txt
16
q432.txt
|
@ -1,8 +1,8 @@
|
||||||
fich1 rep1:0
|
fich1 rep1:0:999
|
||||||
fich1 rep1 12:0
|
fich1 rep1 12:0:12
|
||||||
fich1:3
|
fich1:3::usage : testargu.sh fichier répertoire [nombre_positif]
|
||||||
bidon rep1:4
|
bidon rep1:4::usage : testargu.sh fichier répertoire [nombre_positif]
|
||||||
fich2 rep1:4
|
fich2 rep1:4::usage : testargu.sh fichier répertoire [nombre_positif]
|
||||||
fich1 rep2:5
|
fich1 rep2:5::usage : testargu.sh fichier répertoire [nombre_positif]
|
||||||
fich1 rep1 -99:6
|
fich1 rep1 -99:6::usage : testargu.sh fichier répertoire [nombre_positif]
|
||||||
fich2 rep1 -99:4
|
fich2 rep1 -99:4::usage : testargu.sh fichier répertoire [nombre_positif]
|
||||||
|
|
49
test.sh
49
test.sh
|
@ -59,18 +59,61 @@ cd $DIR
|
||||||
[ ! -f $COMMAND ] && error "script **$COMMAND** not found"
|
[ ! -f $COMMAND ] && error "script **$COMMAND** not found"
|
||||||
|
|
||||||
while IFS='' read -r i || [[ -n "$line" ]]; do
|
while IFS='' read -r i || [[ -n "$line" ]]; do
|
||||||
|
# Create temp dir to store stderr
|
||||||
|
errfile=$(mktemp)
|
||||||
args=$(echo $i | cut -d: -f1)
|
args=$(echo $i | cut -d: -f1)
|
||||||
e_code=$(echo $i | cut -d: -f2)
|
e_code=$(echo $i | cut -d: -f2)
|
||||||
msg "\nScript *${COMMAND}*, paramètres **${args}**\n"
|
e_stdout=$(echo $i | cut -d: -f3)
|
||||||
ret_o=$(./$COMMAND $args 2>&1)
|
e_stderr=$(echo $i | cut -d: -f4-)
|
||||||
|
|
||||||
|
msg "\nScript **\"${COMMAND} ${args}\"**\n"
|
||||||
|
ret_o=$(./$COMMAND $args 2>$errfile)
|
||||||
ret_c=$?
|
ret_c=$?
|
||||||
|
ret_e=$(< "$errfile")
|
||||||
|
rm "$errfile"
|
||||||
|
|
||||||
if [[ $ret_c == $e_code ]]
|
if [[ $ret_c == $e_code ]]
|
||||||
then
|
then
|
||||||
msg "green" "\tLe code de retour est celui attendu (${e_code})\n"
|
msg "green" "\tLe code de retour est celui attendu (${e_code})\n"
|
||||||
else
|
else
|
||||||
msg "yellow" "\tLe code de retour n'est pas correct script : ${ret_c} attendu : ${e_code}\n"
|
msg "yellow" "\tLe code de retour n'est pas correct script : ${ret_c} attendu : ${e_code}\n"
|
||||||
fi
|
fi
|
||||||
msg "blue" "\tRetour : ${ret_o}\n"
|
|
||||||
|
if [[ ! -z $ret_o ]]
|
||||||
|
then
|
||||||
|
if [[ ! -z $e_stdout ]]
|
||||||
|
then
|
||||||
|
if [[ $ret_o == $e_stdout ]]
|
||||||
|
then
|
||||||
|
msg "blue" "\tSTDOUT : $e_stdout\n"
|
||||||
|
else
|
||||||
|
msg "red" "\tSTDOUT n'est pas celui attendu :\n"
|
||||||
|
msg "blue" "\t\tAttendu :\t$e_stdout\n"
|
||||||
|
msg "blue" "\t\tObtenu :\t$ret_o\n"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
msg "red" "STDOUT (non attendu) : $ret_o\n"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -z $ret_e ]]
|
||||||
|
then
|
||||||
|
# Script return STDERR
|
||||||
|
if [[ ! -z $e_stderr ]]
|
||||||
|
then
|
||||||
|
# We need stderr to validate test
|
||||||
|
if [[ $e_stderr == $ret_e ]]
|
||||||
|
then
|
||||||
|
msg "blue" "\tSTDERR : $ret_e\n"
|
||||||
|
else
|
||||||
|
msg "red" "\tSTDERR n'est pas celui attendu\n"
|
||||||
|
msg "blue" "\t\tAttendu :\t$e_stderr\n"
|
||||||
|
msg "blue" "\t\tObtenu :\t$ret_e\n"
|
||||||
|
fi
|
||||||
|
msg "red" "\tSDTERR (non attendu) : $ret_e\n"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
done < "$TEST_FILE"
|
done < "$TEST_FILE"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue