moocbash_test/README.md
2018-11-20 00:51:02 +01:00

77 lines
2.3 KiB
Markdown

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
`<arguments>:<code_retour>:<std_out>:<std_err>`. 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
```