Skip to content

Commit

Permalink
Parsing de check_process
Browse files Browse the repository at this point in the history
  • Loading branch information
scith committed Jan 17, 2017
1 parent a760ee7 commit 52969ff
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 2 deletions.
26 changes: 26 additions & 0 deletions README.md
Expand Up @@ -76,6 +76,17 @@ package_check/package_check.sh APP_ynh
fail_download_source=0
port_already_use=1 (XXXX)
final_path_already_use=0
;;; Levels
Level 1=auto
Level 2=auto
Level 3=auto
Level 4=0
Level 5=auto
Level 6=auto
Level 7=auto
Level 8=0
Level 9=0
Level 10=0
```
### `;; Nom du test`
Nom du scénario de test qui sera effectué.
Expand Down Expand Up @@ -117,6 +128,21 @@ Si un test est absent de la liste, il sera ignoré. Cela revient à le noter à
Le numéro de port doit alors être noté entre parenthèse, il servira au test de port.
- `final_path_already_use`: *Non implémenté pour le moment...*

### `;;; Levels`
Permet de choisir comment [chaque niveau](https://forum.yunohost.org/t/redaction-de-regles-pour-passer-une-app-en-officielle/2256/26) est déterminé.
Chaque niveau fixé à auto sera déterminé par le script. Il est également possible de fixer le niveau à 1 ou à 0 pour respectivement le valider ou l'invalider.
Il est à noter que les niveaux 4, 8, 9 et 10 ne peuvent être fixés à "auto" car ils ne peuvent être testés par le script et nécessitent une vérification manuelle.
- Niveau 1 : L'application s'installe et se désinstalle correctement. -- Peut être vérifié par package_check
- Niveau 2 : L'application s'installe et se désinstalle dans toutes les configurations communes. -- Peut être vérifié par package_check
- Niveau 3 : L'application supporte l'upgrade depuis une ancienne version du package. -- Peut être vérifié par package_check
- Niveau 4 : L'application prend en charge de LDAP et/ou HTTP Auth. -- Doit être vérifié manuellement
- Niveau 5 : Aucune erreur dans package_linter. -- Peut être vérifié par package_check
- Niveau 6 : L'application peut-être sauvegardée et restaurée sans erreurs sur la même machine ou une autre. -- Peut être vérifié par package_check
- Niveau 7 : Aucune erreur dans package check. -- Peut être vérifié par package_check
- Niveau 8 : L'application respecte toutes les YEP recommandées. -- Doit être vérifié manuellement
- Niveau 9 : L'application respecte toutes les YEP optionnelles. -- Doit être vérifié manuellement
- Niveau 10 : L'application est jugée parfaite. -- Doit être vérifié manuellement

---
Le script `package_check.sh` accepte 6 arguments en plus du package à tester.
- `--bash-mode`: Rend le script autonome. Aucune intervention de l'utilisateur ne sera nécessaire.
Expand Down
11 changes: 11 additions & 0 deletions check_process
Expand Up @@ -27,3 +27,14 @@
fail_download_source=0
port_already_use=1 (66)
final_path_already_use=0
;;; Levels
Level 1=auto
Level 2=auto
Level 3=auto
Level 4=0
Level 5=auto
Level 6=auto
Level 7=auto
Level 8=0
Level 9=0
Level 10=0
16 changes: 14 additions & 2 deletions package_check.sh
Expand Up @@ -538,6 +538,7 @@ INIT_VAR() {
IN_PROCESS=0
MANIFEST=0
CHECKS=0
IN_LEVELS=1
auto_remove=1
install_pass=0
note=0
Expand Down Expand Up @@ -607,7 +608,12 @@ then # Si le fichier check_process est trouvé
if echo "$LIGNE" | grep -q "^auto_remove="; then # Indication d'auto remove
auto_remove=$(echo "$LIGNE" | cut -d '=' -f2)
fi
if echo "$LIGNE" | grep -q "^;;"; then # Début d'un scénario de test
if echo "$LIGNE" | grep -q "^;;; Levels"; then # Définition des variables de niveaux
IN_PROCESS=0
MANIFEST=0
CHECKS=0
IN_LEVELS=1
elif echo "$LIGNE" | grep -q "^;;"; then # Début d'un scénario de test
if [ "$IN_PROCESS" -eq 1 ]; then # Un scénario est déjà en cours. Donc on a atteind la fin du scénario.
TESTING_PROCESS
TEST_RESULTS
Expand All @@ -620,8 +626,14 @@ then # Si le fichier check_process est trouvé
IN_PROCESS=1
MANIFEST=0
CHECKS=0
IN_LEVELS=0
fi
if [ "$IN_PROCESS" -eq 1 ]
if [ "$IN_LEVELS" -eq 1 ]
then
if echo "$LIGNE" | grep -q "Level "; then # Définition d'un niveau
level[$(echo "$LIGNE" | cut -d '=' -f1 | cut -d ' ' -f2)]=$(echo "$LIGNE" | cut -d '=' -f2)
fi
elif [ "$IN_PROCESS" -eq 1 ]
then # Analyse des arguments du scenario de test
if echo "$LIGNE" | grep -q "^; Manifest"; then # Arguments du manifest
MANIFEST=1
Expand Down

0 comments on commit 52969ff

Please sign in to comment.