Script de validation des Challenge 42 et 43 ------------------------------------------- Ce script permet de vérifier les codes de sorties retournées par les script des challenges 42 et 43 du MOOC bash de la licence ADSILLH promotion 2018-2019. ## Installation Pour installer le script, il suffit de cloner ce dépôt et d'initialiser le sous module message (disponible aussi dans mes dépôts git) ```shell git clone https://git.epha.se/ephase/moocbash_test cd moocbash_test git submodule init && git submodule update ``` ## Exécution Pour contrôler la sortie de `ouinon.sh` du challenge 43, il suffit de faire: ```shell ./test.sh -d ~/alice/Sequence4/A43 -s ouinon.sh -t q431.txt ``` ### Paramètres - `-d` répertoire contenant le script à tester (et les fichiers nécessaires), sans notre cas `~/alice/Sequence4/A42` et `~/alice/Sequence4/A43` - `-s` fichier script à tester - `-t` fichier de test, il sont tous contenu dans le répertoire de notre script. Chaque fichier contient un test pas ligne sous la forme `:::`. La valeur de `std_out` ne doit pas contenir de `:` car il est utilisé comme séparateur de colonne dans notre fichier de définition. Il est cependant possible de l'utiliser dans `std_err`. ### Sortie Le script fournira alors la sortie suivante : ```shell ADSILLH Bash return code test Test unetouche.sh script with /net/cremi/ybarbanneau/alice/Sequence4/A43/test/q433.txt Script "unetouche.sh 5" Le code de retour est celui attendu (12) STDOUT : Chiffre Script "unetouche.sh =" Le code de retour est celui attendu (20) STDOUT : Autre Script "unetouche.sh abc" Le code de retour est celui attendu (91) STDOUT : Donner un seul caractère [...] ``` Le script donne pour chaque test : - le script lancé et ses arguments - le code de sortie - stdout - stderr En cas de retour différents, et ce pour n'importe quelle valeur attendue (stdout, stderr ou le code de sortie ``` Script "ouinon.sh abc" Le code de retour n'est pas correct script : 5 attendu : 91 STDOUT n'est pas celui attendu : Attendu : Donner un seul caractère Obtenu : Pas compris ```