mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
Calcul du niveau
Ces modifications rajoutent les niveaux: https://forum.yunohost.org/t/redaction-de-regles-pour-passer-une-app-en-officielle/2256/26 Chaque niveau peut être testé par package_check (option "auto") ou écrasé (1 ou 0). Les niveaux manuels (4,8,9,10) doivent obligatoirement être définis (1 ou 0) car ils ne sont pas testables par package_check. Le script affiche le niveau maximal ainsi que l'état de chaque niveau.
This commit is contained in:
parent
b4a65b876a
commit
83fa6efcd6
1 changed files with 80 additions and 0 deletions
|
@ -439,6 +439,74 @@ TEST_RESULTS () {
|
||||||
fi
|
fi
|
||||||
ECHO_FORMAT "$note/20 $smiley\n" "$color_note" "$typo_note"
|
ECHO_FORMAT "$note/20 $smiley\n" "$color_note" "$typo_note"
|
||||||
ECHO_FORMAT "\t Ensemble de tests effectués: $tnote/21\n\n" "white" "bold"
|
ECHO_FORMAT "\t Ensemble de tests effectués: $tnote/21\n\n" "white" "bold"
|
||||||
|
|
||||||
|
# Affiche le niveau final
|
||||||
|
ECHO_FORMAT "Niveau de l'application: $level\n"
|
||||||
|
for i in {1..10}; do
|
||||||
|
ECHO_FORMAT "\t Niveau $i: ${level[i]}\n"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Cette fonctionne détermine le niveau final de l'application, en prenant en compte d'éventuels forçages
|
||||||
|
APP_LEVEL () {
|
||||||
|
level=0 # Initialise le niveau final à 0
|
||||||
|
|
||||||
|
# Niveau 1: L'application ne s'installe pas ou ne fonctionne pas après installation.
|
||||||
|
if [ "${level[1]}" == "auto" ]; then
|
||||||
|
if [ "$GLOBAL_CHECK_SETUP" -eq 1 ] && [ "$GLOBAL_CHECK_REMOVE" -eq 1 ]
|
||||||
|
then level[1]=1 ; else level[1]=0 ; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Niveau 2: L'application s'installe et se désinstalle dans toutes les configurations communes.
|
||||||
|
if [ "${level[2]}" == "auto" ]; then
|
||||||
|
if [ "$GLOBAL_CHECK_SUB_DIR" -ne -1 ] && \
|
||||||
|
[ "$GLOBAL_CHECK_REMOVE_SUBDIR" -ne -1 ] && \
|
||||||
|
[ "$GLOBAL_CHECK_ROOT" -ne -1 ] && \
|
||||||
|
[ "$GLOBAL_CHECK_REMOVE_ROOT" -ne -1 ] && \
|
||||||
|
[ "$GLOBAL_CHECK_PRIVATE" -ne -1 ] && \
|
||||||
|
[ "$GLOBAL_CHECK_PUBLIC" -ne -1 ] && \
|
||||||
|
[ "$GLOBAL_CHECK_MULTI_INSTANCE" -ne -1 ]
|
||||||
|
then level[2]=1 ; else level[2]=0 ; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Niveau 3: L'application supporte l'upgrade depuis une ancienne version du package.
|
||||||
|
if [ "${level[3]}" == "auto" ]; then
|
||||||
|
if [ "$GLOBAL_CHECK_UPGRADE" -eq 1 ]
|
||||||
|
then level[3]=1 ; else level[3]=0 ; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
if [ "${level[5]}" == "auto" ]; then
|
||||||
|
if [ "$GLOBAL_LINTER" -eq 1 ]
|
||||||
|
then level[5]=1 ; else level[5]=0 ; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Niveau 6: L'application peut-être sauvegardée et restaurée sans erreurs sur la même machine ou une autre.
|
||||||
|
if [ "${level[6]}" == "auto" ]; then
|
||||||
|
if [ "$GLOBAL_CHECK_BACKUP" -eq 1 ] && [ "$GLOBAL_CHECK_RESTORE" -eq 1 ]
|
||||||
|
then level[6]=1 ; else level[6]=0 ; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Niveau 7: Aucune erreur dans package check.
|
||||||
|
if [ "${level[7]}" == "auto" ]; then
|
||||||
|
if [ "$note" -ge 20 ]
|
||||||
|
then level[7]=1 ; else level[7]=0 ; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Calcule le niveau final
|
||||||
|
for i in {1..10}; do
|
||||||
|
if [ "${level[i]}" -eq 1 ]; then level=$i
|
||||||
|
else break; fi
|
||||||
|
done
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INIT_VAR() {
|
INIT_VAR() {
|
||||||
|
@ -497,6 +565,17 @@ INIT_VAR() {
|
||||||
fail_download_source=0
|
fail_download_source=0
|
||||||
port_already_use=0
|
port_already_use=0
|
||||||
final_path_already_use=0
|
final_path_already_use=0
|
||||||
|
|
||||||
|
level[1]="auto" # L'application s'installe et se désinstalle correctement. -- Peut être vérifié par package_check
|
||||||
|
level[2]="auto" # L'application s'installe et se désinstalle dans toutes les configurations communes. -- Peut être vérifié par package_check
|
||||||
|
level[3]="auto" # L'application supporte l'upgrade depuis une ancienne version du package. -- Peut être vérifié par package_check
|
||||||
|
level[4]=0 # L'application prend en charge de LDAP et/ou HTTP Auth. -- Doit être vérifié manuellement
|
||||||
|
level[5]="auto" # Aucune erreur dans package_linter. -- Peut être vérifié par package_check
|
||||||
|
level[6]="auto" # 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
|
||||||
|
level[7]="auto" # Aucune erreur dans package check. -- Peut être vérifié par package_check
|
||||||
|
level[8]=0 # L'application respecte toutes les YEP recommandées. -- Doit être vérifié manuellement
|
||||||
|
level[9]=0 # L'application respecte toutes les YEP optionnelles. -- Doit être vérifié manuellement
|
||||||
|
level[10]=0 # L'application est jugée parfaite. -- Doit être vérifié manuellement
|
||||||
}
|
}
|
||||||
|
|
||||||
INIT_VAR
|
INIT_VAR
|
||||||
|
@ -744,6 +823,7 @@ TESTING_PROCESS
|
||||||
if [ "$no_lxc" -eq 0 ]; then
|
if [ "$no_lxc" -eq 0 ]; then
|
||||||
LXC_TURNOFF
|
LXC_TURNOFF
|
||||||
fi
|
fi
|
||||||
|
APP_LEVEL
|
||||||
TEST_RESULTS
|
TEST_RESULTS
|
||||||
|
|
||||||
echo "Le log complet des installations et suppressions est disponible dans le fichier $COMPLETE_LOG"
|
echo "Le log complet des installations et suppressions est disponible dans le fichier $COMPLETE_LOG"
|
||||||
|
|
Loading…
Add table
Reference in a new issue