6 Extensions de la commande comp
Les sections précédentes présentent une version minimale de la
commande comp. Nous définissons ici les extensions que vous
pourrez intégrer dans une seconde version de vos développements. Dans
un premier temps, ne vous arrêtez pas sur ces extensions.
Distinguer stdout et stderr
On veut pouvoir distinguer des données produites par la commande sur
la sortie standard et la sortie d'erreur. Pour ce faire on définit
quatre nouveaux paramètres : STDOUT, STDOUTFILE,
STDERR, et STDERRFILE identifiant le contenu attendu
sur la sortie standard et sur la sortie d'erreur. De plus un paramètre
booléen MIXEDOUTERR indique si on doit considérer la sortie
standard et la sortie d'erreur indépendamment.
Lecture et écriture depuis la commande
La commande à tester peut produire des entrées/sorties directement
dans des fichiers autres que ses sorties standard.
La valeur NINFILE et la valeur NOUTFILE indiquent
respectivement combien de fichiers sont lus et écrits par la
commande.
Une série de paramètres INFILENAME<i> et
INFILEDATA<i> identifie les fichiers lus par la
commande. La commande va lire chacun des fichiers de nom
INFILENAME<i> dont le contenu doit être égal au
contenu du fichier INFILEDATA<i> avant l'exécution
pour le test.
Une série de paramètres OUTFILENAME<i> et
OUTFILEDATA<i> identifie les fichiers écrits par la
commande. La commande va écrire chacun des fichiers de nom
OUTFILENAME<i> dont le contenu attendu après
l'exécution doit être égal au contenu du fichier
OUTFILEDATA<i>.
La valeur du paramètre DIRFILE est un répertoire à partir
duquel les noms de fichier INFILENAME<i> et
OUTFILENAME<i> sont relatifs. La valeur du paramètre
DIRDATA est un répertoire à partir duquel les noms de
fichier INFILEDATA<i> et
OUTFILEDATA<i> sont relatifs.
Compression
Un paramètre booléen COMPRESSEDDATA identifie le fait que les
fichiers STD*FILE et *FILEDATA<i> sont
compressés. La commande de décompression à utiliser qui lit son entrée
standard et produit un résultat sur sa sortie standard est
zcat. Le paramètre ZCAT peut surcharger cette valeur
par défaut.
Permutation
Il s'agit de proposer une extension de la comparaison des contenus
attendu et produit. Le paramètre booléen UNSORT indique que
ces contenus doivent être identiques à une permutation des lignes
près.
Variables
On considère que les valeurs données aux paramètres doivent être
évaluées par un shell. Ainsi il est possible d'utiliser des variables
du shell dans un fichier de configuration par exemple :
DIRSTD = $HOME/tests