From cd56f899233479469ee46638bb0127498323ba1f Mon Sep 17 00:00:00 2001 From: troufflard <> Date: Wed, 15 Jul 2015 11:42:40 +0000 Subject: [PATCH] refonte du script de lancement de la batterie. Cette nouvelle version s appelle verifier_exeHZ.pl et offre des options supplementaires de lancement. L ancienne version est renommee en verifier_exeHZ.zsh et reste disponible. Actualisation de la doc doc_procedure_verification.pdf --- Doc/README | 37 ++ Doc/doc_procedure_verification.tex | 114 +++-- Perl/genere_catalogue_tests.pl | 51 ++- Perl/test.pl | 4 +- Rapport/rapport_test_L.txt | 6 +- Rapport/rapport_test_R.txt | 30 +- ...mentation_tests.pdf => catalogue_tests.pdf | Bin 108348 -> 108533 bytes doc_procedure_verification.pdf | Bin 0 -> 191124 bytes verifier_exeHZ.pl | 410 ++++++++++++++++++ verifier_exeHZ => verifier_exeHZ.zsh | 8 +- 10 files changed, 605 insertions(+), 55 deletions(-) create mode 100644 Doc/README rename documentation_tests.pdf => catalogue_tests.pdf (86%) create mode 100644 doc_procedure_verification.pdf create mode 100755 verifier_exeHZ.pl rename verifier_exeHZ => verifier_exeHZ.zsh (96%) diff --git a/Doc/README b/Doc/README new file mode 100644 index 0000000..689b94d --- /dev/null +++ b/Doc/README @@ -0,0 +1,37 @@ +dans ce repertoire, tout ce qui concerne la documentation : + +------------------------------------------------------------------------- +1) documentation principale +------------------------------------------------------------------------- + > contenu : explication du fonctionnement de la batterie de tests + (organisation, execution, ajout de nouveaux tests, etc...) + + > fichiers concernes : + - doc_procedure_verification.tex + + > commandes a executer pour generer cette documentation + a) compilation pdflatex classique du document doc_procedure_verification.tex + rq : en resultat => fichier doc_procedure_verification.pdf + b) deplacer le fichier doc_procedure_verification.pdf vers la racine du projet + pour remplacer l ancienne version + + +------------------------------------------------------------------------- +2) catalogue des tests +------------------------------------------------------------------------- + > contenu : listing et resume des tests actuellement presents dans la batterie + + > fichiers concernes : + - ../Perl/genere_catalogue_tests.pl + + > commandes a executer pour generer cette documentation + a) se placer dans le repertoire contenant le repertoire Batterie + (ou autre repertoire contenant des tests) + b) executer script : Perl/genere_catalogue_tests.pl + rq : en resultat => fichier catalogue_tests.pdf contenant l ensemble des + tests (Test_R et Test_L) presents dans toute l arborescence + depuis le repertoire de lancement du script + c) deplacer le fichier catalogue_tests.pdf vers la racine du projet + pour remplacer l ancienne version + (((( rq : bien sur, cette etape c) est inutile si le script a ete lance a + la racine du projet )))) diff --git a/Doc/doc_procedure_verification.tex b/Doc/doc_procedure_verification.tex index 4292c01..018c8f2 100644 --- a/Doc/doc_procedure_verification.tex +++ b/Doc/doc_procedure_verification.tex @@ -26,6 +26,12 @@ \usepackage{tikz} \usetikzlibrary{trees} +\newcommand*{\TakeFourierOrnament}[1]{{% +\fontencoding{U}\fontfamily{futs}\selectfont\char#1}} +\newcommand*{\danger}{\TakeFourierOrnament{66}} + + + \addto\captionsfrench{\def\figurename{Figure}} \addto\captionsfrench{\def\tablename{Tableau}} %\usepackage{hangcaption} @@ -134,28 +140,51 @@ L'arborescence du projet CVS est la suivante :\\ \section{Lancement de la batterie de tests} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Le script \verb|verifier_exeHZ| permet de lancer la batterie de tests. Il lance automatiquement tous les tests présents dans le répertoire courant et ses sous-répertoires. Un test est un répertoire dont le nom commence par \verb|Test_R| ou \verb|Test_L| (voir section \ref{section_organisation_tests}). Le script peut \^etre lancé dans n'importe quel répertoire contenant le répertoire \verb|Perl|. Il produit un rapport de tests pour les tests \verb|Test_R| (tests rapides) et un rapport pour les tests \verb|Test_L| (tests longs). Ces rapports sont contenus dans le répertoire \verb|Rapport| (éventuellement créé si il n'existe pas au lancement) sous le nom \verb|rapport_test_R.txt| et \verb|rapport_test_L.txt|. Le script affiche automatiquement ces rapports si l'éditeur de texte \verb|nedit| est disponible. +Il y a actuellement deux scripts permettant de lancer la batterie de tests. Le script \verb|verifier_exeHZ.zsh| est la version originale historique. Le script \verb|verifier_exeHZ.pl| est une version plus récente offrant plus de possibilités sous forme d'options. Pour l'instant, ces deux scripts existent. A terme, si \verb|verifier_exeHZ.pl| s'avère satisfaisant, la version \verb|.zsh| dispara\^itra du projet.\\ -Le script \verb|verifier_exeHZ| prend un argument : le nom de l'exécutable Herezh++. Typiquement, cet exécutable est présent dans un répertoire pointé par la variable environnement \verb|$PATH|. Mais on peut également donner un chemin absolu ou relatif.\\ +Avant de détailler l'utilisation de ces scripts, voici un résumé de la procédure pour lancer la batterie : +\begin{itemize} +\item[1-] se placer dans un répertoire contenant des tests et le répertoire \verb|Perl| +\item[2-] exécuter le script \verb|verifier_exeHZ.zsh| ou \verb|verifier_exeHZ.pl [...options...]| en lui indiquant l'exécutable à tester\\ +\end{itemize} + +\subsubsection*{\underline{Script \texttt{verifier\_exeHZ.zsh}} :} +Le script \verb|verifier_exeHZ.zsh| lance automatiquement tous les tests présents dans le répertoire courant et ses sous-répertoires. Un test est un répertoire dont le nom commence par \verb|Test_R| ou \verb|Test_L| (voir section \ref{section_organisation_tests}). Le script peut \^etre lancé dans n'importe quel répertoire contenant le répertoire \verb|Perl|. Il produit un rapport de tests pour les tests \verb|Test_R| (tests rapides) et un rapport pour les tests \verb|Test_L| (tests longs). Ces rapports sont contenus dans le répertoire \verb|Rapport| (éventuellement créé si il n'existe pas au lancement) sous le nom \verb|rapport_test_R.txt| et \verb|rapport_test_L.txt|. Le script affiche automatiquement ces rapports si l'éditeur de texte \verb|nedit| est disponible. + +Le script \verb|verifier_exeHZ.zsh| prend un argument : le nom de l'exécutable Herezh++. Typiquement, cet exécutable est présent dans un répertoire pointé par la variable environnement \verb|$PATH|. Mais on peut également donner un chemin absolu ou relatif.\\ Exemples : \begin{itemize} \item[$\bullet$] cas d'un exécutable accessible via la variable environnement \verb|$PATH| : \begin{itemize} -\item[] \verb|verifier_exeHZ HZppfast_Vn-1| -\item[] \verb|verifier_exeHZ HZppfast64| +\item[] \verb|verifier_exeHZ.zsh HZppfast_Vn-1| +\item[] \verb|verifier_exeHZ.zsh HZppfast64| \end{itemize} \item[$\bullet$] cas d'un exécutable spécifié par un chemin absolu ou relatif : \begin{itemize} -\item[] \verb|verifier_exeHZ /Users/dupont/bin/HZpp| -\item[] \verb|verifier_exeHZ ./HZppfast| -\item[] \verb|verifier_exeHZ ../mon_rep/HZppfast|\\ +\item[] \verb|verifier_exeHZ.zsh /Users/dupont/bin/HZpp| +\item[] \verb|verifier_exeHZ.zsh ./HZppfast| +\item[] \verb|verifier_exeHZ.zsh ../mon_rep/HZppfast|\\ \end{itemize} \end{itemize} -La procédure pour lancer la batterie est donc : +\subsubsection*{\underline{Script \texttt{verifier\_exeHZ.pl}} :} +Le script \verb|verifier_exeHZ.pl| fonctionne de manière identique. Toutes les informations mentionnées pour \verb|verifier_exeHZ.zsh| sont valables pour \verb|verifier_exeHZ.pl|. Cette version offre des possibilités supplémentaires sous forme d'options. Ces options sont consultables en tapant \verb|verifier_exeHZ.pl -h| dans un terminal. En l'absence d'options, \verb|verifier_exeHZ.pl| fonctionne exactement comme \verb|verifier_exeHZ.zsh|.\\ +Exemples d'options : \begin{itemize} -\item[1-] se placer dans un répertoire contenant des tests et le répertoire \verb|Perl|. -\item[2-] exécuter le script \verb|verifier_exeHZ| en lui indiquant l'exécutable à tester +\item[$\bullet$] ne lancer que les tests rapides (option \verb|-R|) : +\begin{itemize} +\item[] \verb|verifier_exeHZ.pl -R HZppfast_Vn-1| +\end{itemize} +\item[$\bullet$] ne lancer que les tests longs (option \verb|-L|) : +\begin{itemize} +\item[] \verb|verifier_exeHZ.pl -L /Users/dupont/bin/HZpp| +\end{itemize} +\item[$\bullet$] ne lancer que les tests ayant un indicateur ECHEC dans un rapport de test (option \verb|-rpt nom_rapport|) : +\begin{itemize} +\item[] \verb|verifier_exeHZ.pl -rpt ./Rapport/rapport_test_R.txt HZppfast| \footnotesize (*)\normalsize +\item[] \hspace*{0.5cm} \footnotesize (*) Remarque : dans le cas de l'option \verb|-rpt|, le rapport de test s'appellera\\ +\hspace*{3.1cm}\verb|Rapport/rapport_test_debugECHEC.txt|\normalsize\\ +\end{itemize} \end{itemize} @@ -209,15 +238,15 @@ On distingue actuellement deux sortes de tests selon le temps de calcul : les te \subsection{Lancement et vérification d'un test} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsubsection{Lancement des calculs} -Le script \verb|verifier_exeHZ| a pour fonction de rechercher tous les répertoires de tests (répertoires commençant par \verb|Test_R| ou \verb|Test_L|. Chaque répertoire de test contient un unique fichier \verb|.info| et un certain nombre $N$ de fichiers \verb|.CVisu|[i] où [i] est un numéro de 1 à $N$. Pour chaque fichier \verb|.CVisu|[i], un calcul est lancé. Le premier calcul est celui correspondant au fichier \verb|.CVisu1|. Les calculs suivants pour [i]$>$1 sont des RESTART (si possible) du calcul précédent à partir du dernier incrément sauvegardé (selon option \verb|SAUVEGARDE| du fichier \verb|.info|).\\ +\subsubsection{Lancement d'un test} +Le script \verb|verifier_exeHZ.zsh| ou \verb|verifier_exeHZ.pl| a pour fonction de rechercher les répertoires de tests (répertoires commençant par \verb|Test_R| ou \verb|Test_L|). Chaque répertoire de test contient un unique fichier \verb|.info| (vide ou non) et un certain nombre $N$ de fichiers \verb|.CVisu|[i] où [i] est un numéro de 1 à $N$. Pour chaque fichier \verb|.CVisu|[i], un calcul est lancé. Le premier calcul est celui correspondant au fichier \verb|.CVisu1|. Les calculs suivants pour [i]$>$1 sont des RESTART (si possible) du calcul précédent à partir du dernier incrément sauvegardé (selon option \verb|SAUVEGARDE| du fichier \verb|.info|).\\ Pour chaque calcul, un éventuel fichier d'extension \verb|.commande|[i] contient des commandes interactives pour répondre aux différents menus interactifs proposés par Herezh++. Par défaut, un calcul Herezh est exécuté avec l'option \verb|-f| suivie du nom du fichier \verb|.info| (calcul classique). Si le fichier \verb|.info| ne contient pas le mot-clé \verb|dimension|, l'option utilisée est \verb|-n| suivie du fichier \verb|.info| (création interactive d'un fichier .info). Il est également possible de définir complètement les arguments donnés à Herezh++ dans un fichier \verb|.argument|[i]. Pour plus d'informations sur les fichiers facultatifs, on peut se référer à la section \ref{section_fichiers_facultatifs}.\\ Une fois un test terminé, le répertoire du test est restauré dans son état d'origine (restauration de l'état initial du fichier \verb|.info| et suppression de tous les fichiers qui n'étaient pas présents à l'origine). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsubsection{Vérification} +\subsubsection{Vérification}\label{subsubsection_verification} Pour chaque calcul, une vérification est faite pour déterminer si le test est réussi ou non. Le rapport de test contient les indicateurs \verb|OK| ou \verb|ECHEC|. Il y a actuellement 3 types de vérification possible : \begin{itemize} @@ -245,7 +274,7 @@ Pour chaque calcul, une v %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Contenu d'un répertoire de tests}\label{section_contenu_repertoire_test} +\subsection{Contenu d'un répertoire de test}\label{section_contenu_repertoire_test} Un répertoire de tests contient des fichiers obligatoires et des fichiers facultatifs.\\ Les fichiers obligatoires sont : @@ -352,7 +381,7 @@ Les fichiers facultatifs d \item[$\bullet$] Pour chaque calcul, il est nécessaire de créer un fichier \verb|.CVisu| (\verb|.CVisu1|, \verb|.CVisu2|, etc...) m\^eme si celui-ci est vide. Ces fichiers servent non seulement à Herezh++ mais également au script \verb|Perl/test.pl| pour repérer les calculs à lancer (un calcul par fichier \verb|.CVisu|). \item[$\bullet$] tous les fichiers \verb|.CVisu|[i] et les fichiers facultatifs nécessaires à l'exécution d'un test (\verb|.verif|[i], \verb|.commande|[i], etc...) ont la m\^eme racine que le fichier \verb|.info| (par exemple, si on a le fichier \verb|nom_fichier.info|, l'éventuel fichier \verb|.verif1| doit avoir pour nom \verb|nom_fichier.verif1|) \item[$\bullet$] le fichier \verb|README| contient obligatoirement les rubriques \it But du test \rm et \it Description du calcul \rm montrées sur la figure \ref{format_fichier_README}. Ces deux rubriques serviront à générer automatiquement une documentation pdf (catalogue de tests). Dans le m\^eme but, les rubriques \it Auteur \rm et \it Mots-cles\rm, qui ne sont pas obligatoires, donnent des informations précieuses (merci de les renseigner). -\item[] Remarque importante : ne pas écrire des lignes de tirets (\verb|---| et plus) dans le corps d'une rubrique.\\ +\item[] \bf Remarque importante : \rm ne pas écrire des lignes de tirets (\verb|---| et plus) dans le corps d'une rubrique.\\ \end{itemize} @@ -395,27 +424,28 @@ Les fichiers facultatifs d \label{arbo_repertoire_test} \end{figure} -La sous-section \ref{section_commandes_CVS} est un rappel des commandes CVS de base. Les sous-sections \ref{section_fichiers_obligatoires} et \ref{section_fichiers_facultatifs} donnent des informations sur les fichiers obligatoires et les fichiers facultatifs en lien avec l'exécution du test. Notamment, certains fichiers ont un format bien précis pour \^etre exploitables. Ensuite, la sous-section \ref{section_exemples_tests} a pour but de balayer les cas les plus courant de tests et de donner des exemples. +La sous-section \ref{section_commandes_CVS} est un rappel des commandes CVS de base. Les sous-sections \ref{section_fichiers_obligatoires} et \ref{section_fichiers_facultatifs} donnent des informations sur les fichiers obligatoires et les fichiers facultatifs en lien avec l'exécution du test. Notamment, certains fichiers ont un format bien précis pour \^etre exploitables. Ensuite, la sous-section \ref{section_exemples_tests} a pour but de balayer les cas les plus courants de test et de donner des exemples. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Commandes usuelles CVS}\label{section_commandes_CVS} \begin{itemize} -\item[$\bullet$] importer le projet : \verb|cvs co Verif_Herezh| -\item[$\bullet$] actualiser sa version locale du projet : \verb|cvs update -dP| (*) +\item[$\bullet$] importer le projet : \verb|cvs co -P Verif_Herezh| (*) +\item[$\bullet$] actualiser sa version locale du projet : \verb|cvs update -dP| (**) \item[$\bullet$] ajouter un fichier ou un répertoire : \begin{itemize} \item fichier texte : \verb|cvs add nom_fichier| \item fichier binaire : \verb|cvs add -kb nom_fichier| \end{itemize} -\item[$\bullet$] effacer un fichier (**) : +\item[$\bullet$] effacer un fichier (***) : \begin{itemize} \item[1)] effacer le fichier \verb|nom_fichier| \item[2)] \verb|cvs remove nom_fichier| \end{itemize} \item[] -\item[] \footnotesize (*) \underline{Toujours actualiser sa version locale avant de modifier le projet}. Cette commande actualise le répertoire courant ainsi que tous ses sous-répertoires\normalsize -\item[] \footnotesize (**) a priori, c'est la m\^eme démarche pour effacer un répertoire, bien qu'il soit souvent constaté que le répertoire effacé persistait\normalsize\\ +\item[] \footnotesize (*) l'option \verb|-P| est très recommandée car elle permet de supprimer automatiquement les répertoires vides dès l'import du projet (voir également remarque (***)). +\item[] \footnotesize (**) \underline{Toujours actualiser sa version locale avant de modifier le projet}. Cette commande actualise le répertoire courant ainsi que tous ses sous-répertoires\normalsize +\item[] \footnotesize (***) a priori, c'est la m\^eme démarche pour effacer un répertoire, bien qu'il soit souvent constaté que le répertoire effacé persistait m\^eme si il est vide.\normalsize\\ \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -423,7 +453,7 @@ La sous-section \ref{section_commandes_CVS} est un rappel des commandes CVS de b \begin{itemize} \item[$\bullet$] \verb|README| :\\ -La trame du fichier est montrée sur la figure \ref{format_fichier_README}. La syntaxe de l'intitulé des deux rubriques obligatoires (en bleu) doit \^etre strictement respectée. Il est fortement encouragé de renseigner les rubriques \it Auteur \rm et \it Mots-cles\rm. Les autres rubriques sont indiquées à titre de proposition et pour des questions d'harmonie sur la forme d'un test à l'autre. Comme montré sur la figure \ref{format_fichier_README}, chaque titre de rubrique est précédé et suivi d'une ligne d'au moins trois tirets (\verb|---| et plus). Les lignes de tirets doivent \^etre réservées aux titres des rubriques (Ce motif sert à repérer la fin d'une rubrique. L'insertion d'une ligne de tirets dans le corps d'une rubrique mettra en défaut le script de génération automatique de la documentation!!).\\ +La trame du fichier est montrée sur la figure \ref{format_fichier_README}. La syntaxe de l'intitulé des deux rubriques obligatoires (en bleu) doit \^etre strictement respectée. Il est fortement encouragé de renseigner les rubriques \it Auteur \rm et \it Mots-cles\rm. Les autres rubriques sont indiquées à titre de proposition et pour des questions d'harmonie sur la forme d'un test à l'autre. Comme montré sur la figure \ref{format_fichier_README}, chaque titre de rubrique est précédé et suivi d'une ligne d'au moins trois tirets (\verb|---| et plus). Les lignes de tirets doivent \^etre réservées aux titres des rubriques (Ce motif sert à repérer la fin d'une rubrique. L'insertion d'une ligne de tirets dans le corps d'une rubrique mettra en défaut le script de génération automatique du catalogue de tests!!).\\ \item[$\bullet$] \verb|.info| : \begin{itemize} \item[] Ce fichier est l'unique fichier d'extension \verb|.info| présent dans le répertoire. Il est obligatoire mais peut \^etre vide (par exemple dans le cas d'un création de fichier \verb|.info| avec l'option Herezh \verb|-n|).\\ @@ -515,10 +545,11 @@ resultat verification : OK (ou ECHEC) En plus de cette ligne, cet exécutable peut tout à fait afficher d'autres informations à titre facultatif.\\ -Il est important de noter que cet exécutable reçoit 2 arguments lorsqu'il est appelé par le script \verb|Perl/test.pl| : +Il est important de noter que cet exécutable reçoit 2 arguments lorsqu'il est appelé. Le programmeur pourra donc utiliser s'il le souhaite les arguments suivants : \begin{itemize} -\item[argument 1 :] nom de l'exécutable Herezh++ (en chemin absolu) -\item[argument 2 :] nom du fichier de redirection de l'affichage du calcul Herezh++ (fichier \verb|.log|) +\item[\hspace*{0.5cm} argument 1 :] nom de l'exécutable Herezh++ (en chemin absolu) +\item[\hspace*{0.5cm} argument 2 :] nom du fichier de redirection de l'affichage du calcul Herezh++\\ +\hspace*{2.4cm} (fichier \verb|.log|) \end{itemize} Cet exécutable peut \^etre programmé dans n'importe quel langage, mais pour éviter les problèmes de compilateur, il est préférable d'éviter les langages nécessitant une compilation (par exemple : C, C++, Fortran, etc...). Il est préférables d'utiliser les langages interprétés (par exemple : sh, zsh, Perl, Python, etc...).\\ @@ -540,7 +571,7 @@ HZppfast ligne_1 ligne_2 ... ligne_N | tee nom_calcul.log %% \item[$\bullet$] \verb|.maple.ref| : \begin{itemize} -\item[] Ce fichier est utile pour la comparaison de données au format maple. Le nombre de colonnes de ce fichier doit \^etre en accord avec le fichier \verb|.maple| produit par la lecture du \verb|.CVisu| associé. +\item[] Ce fichier est utile pour la comparaison de données au format maple. Le nombre de colonnes de ce fichier doit \^etre en accord avec le fichier \verb|.maple| produit par la lecture du \verb|.CVisu| associé. Il peut contenir un nombre quelconque de lignes de données mais seule la dernière sera utilisée pour la comparaison de \verb|.maple| explicitée à la section \ref{subsubsection_verification}. \end{itemize} \end{itemize} @@ -611,11 +642,38 @@ L'arborescence pour ce genre de test devrait avoir la forme suivante :\\ \section{Évolution des mises à jour} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{itemize} + \item[$\bullet$] 2015-06-29 (Julien Troufflard) : \begin{itemize} -\item[-]création d'un nouveau script (\verb|Perl/genere_catalogue_tests.pl|). Il génère automatiquement une documentation sur les tests (résumé et index pour recherche par mots-clés). Ce document est placé à la racine du projet sous le nom \verb|documentation_tests.pdf|. Le mode de fonctionnement (lecture des fichiers README de chaque test) impose une nouvelle contrainte sur la forme des fichiers README (interdiction d'utiliser des lignes de 3 tirets ou plus dans le corps d'une rubrique README car ce motif signifie la fin d'une rubrique). Cette contrainte est le choix actuel mais peut \^etre modifié à tout moment en définissant une balise de fin de rubrique à utiliser dans les fichiers README (par exemple : \verb|fin_rubrique|) et en indiquant sa syntaxe dans la variable \verb|$MOTIF_FIN_RUBRIQUE| du script \verb|Perl/genere_catalogue_tests.pl|.\\ -\item[-]Apparition d'une nouvelle rubrique README : \it Auteur \rm (renseigne le ou les auteurs du test avec prénom, nom, adresse mail). rubrique qui appara\^it dans la documentation des tests. +\item[-] création d'un nouveau script (\verb|Perl/genere_catalogue_tests.pl|). Il génère automatiquement une documentation sur les tests (résumé et index pour recherche par mots-clés). Ce document est placé à la racine du projet sous le nom \verb|documentation_tests.pdf|. Le mode de fonctionnement (lecture des fichiers README de chaque test) impose une nouvelle contrainte sur la forme des fichiers README (interdiction d'utiliser des lignes de 3 tirets ou plus dans le corps d'une rubrique README car ce motif signifie la fin d'une rubrique). Cette contrainte est le choix actuel mais peut \^etre modifié à tout moment en définissant une balise de fin de rubrique à utiliser dans les fichiers README (par exemple : \verb|fin_rubrique|) et en indiquant sa syntaxe dans la variable \verb|$MOTIF_FIN_RUBRIQUE| du script \verb|Perl/genere_catalogue_tests.pl|.\\ +\item[-] Apparition d'une nouvelle rubrique README : \it Auteur \rm (renseigne le ou les auteurs du test avec prénom, nom, adresse mail). rubrique qui appara\^it dans la documentation des tests.\\ \end{itemize}%tiret + +\item[$\bullet$] 2015-07-13 (Julien Troufflard) : +\begin{itemize} +\item[-] changement du nom du fichier de catalogue de tests (désormais s'appellera \verb|catalogue_test.pdf| au lieu de \verb|documentation_tests.pdf|)\\ +\item[-] le fichier .pdf de la document utilisateur principale est désormais archivé sous CVS. Il s'appelle \verb|doc_procedure_verification.pdf| et est placé à la racine du projet (il s'agit simplement du fichier généré par \verb|Doc/doc_procedure_verification.tex|)\\ +\end{itemize}%tiret + +\item[$\bullet$] 2015-07-15 (Julien Troufflard) : +\begin{itemize} +\item[-] ajout d'une nouvelle version du script de lancement de la batterie. Cette nouvelle version en Perl s'appelle \verb|verifier_exeHZ.pl|. Elle reproduit la m\^eme chose que la version actuelle en zsh mais propose en plus des options pour éviter de lancer tous les tests. La version précédente \verb|verifier_exeHZ| est conservée mais renommée en \verb|verifier_exeHZ.zsh|. A terme, cette version zsh sera supprimée du projet CVS.\\ +\end{itemize}%tiret + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%template d ajout d une nouvelle mise à jour (composé d'une puce "bullet" avec Date et auteur de la modif, suivie d une série de puce "-" +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\item[$\bullet$] AAAA-MM-JJ (Prénom Nom) : +%\begin{itemize} +%\item[-] blabla 1\\ +%\item[-] blabla 2\\ +%. +%. +%. +%\item[-] blabla N\\ +%\end{itemize}%tiret + + \end{itemize}%bullet diff --git a/Perl/genere_catalogue_tests.pl b/Perl/genere_catalogue_tests.pl index 690edb2..cde42a2 100755 --- a/Perl/genere_catalogue_tests.pl +++ b/Perl/genere_catalogue_tests.pl @@ -38,11 +38,17 @@ my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; # # # Notes aux utilisateurs : -# les repertoires de tests sont recherches dans toute l arborescence depuis l endroit ou -# ce script est lance (recherche de tous les repertoires commencant par Test_R ou Test_L) -# A noter que si un des repertoires ne contient pas de fichier README, le script s arrete sans -# creation du .pdf. De meme, si l un des fichiers README ne contient pas la rubrique "But du test" -# ou "Description du calcul" +# - les repertoires de tests sont recherches dans toute l arborescence depuis l endroit ou +# ce script est lance (recherche de tous les repertoires commencant par Test_R ou Test_L) +# A noter que si un des repertoires ne contient pas de fichier README, le script s arrete sans +# creation du .pdf. De meme, si l un des fichiers README ne contient pas la rubrique "But du test" +# ou "Description du calcul". Cette securite a ete mise pour obliger a tenir a jour les README, +# evitant ainsi l oubli de certains tests dont le README n aurait pas ete cree ou mal cree. +# - A noter egalement que les repertoires vides vont provoquer l arret du programme. Il s agit des +# repertoires de tests qui ont ete supprimes de la base CVS mais dont la presence persiste. Comme +# ils sont vides, il n y a pas de README d ou l arret du programme. Pour supprimer, +# ces repertoires vides, il suffit de faire "cvs update -dP" ou bien utiliser l option -P a l import du +# projet "cvs co -P Verif_Herezh" # # Notes aux developpeurs : # - le choix de ne pas generer de pdf a la moindre defaillance d un fichier README a pour @@ -56,8 +62,8 @@ my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; # un certain nombre de caracteres ou de groupes de caracteres ne sont pas directement utilisables # dans un fichier .tex # (par exemple : <, >, _, etc... ou bien encore les exposants ^3.14159265) -# Le plus souvent, il suffit de rajouter des dollars autour des caracteres problematiques mais -# ce n est pas systematique. +# Le plus souvent, ce script rajoute des dollars autour des caracteres problematiques mais +# cette action ne resoud pas tous les problems. # La gestion de ces caracteres se fait au cas par cas dans la subroutine translate_to_latex() # au niveau du bloc "A FAIRE EVOLUER" (par substitution de caracteres s///g) @@ -75,7 +81,7 @@ my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; #-------------------------------------------------------------------------------- #nom du fichier catalogue de tests #-------------------------------------------------------------------------------- -my $NOM_PDF_CATALOGUE = "documentation_tests.pdf"; +my $NOM_PDF_CATALOGUE = "catalogue_tests.pdf"; #-------------------------------------------------------------------------------- #encodage du fichier .tex temporaire (rq : notamment pour accepter les accents) @@ -161,7 +167,7 @@ if($is_absence_README) { # a la fin, seul le .pdf restera, tous les fichiers intermediaires seront effaces) ######################################################################################################### -#on va creer un repertoire temporaire qui est sense s effacer automatiquement +#on va creer un repertoire temporaire qui est sense s effacer automatiquement grace a l utilisation de File::Temp->newdir # le probleme est que si un signal d interruption est envoye (ctrl-c par exemple), le repertoire ne sera pas efface. # donc, on va capturer certains signaux pour faire un appel a la subroutine sortie_programme() $SIG{INT} = \&sortie_programme;#INT => capture signal : ctrl-c ou kill -2 @@ -186,11 +192,19 @@ preambule_fic_tex_tmp($HANDLE_TEX); #corps du texte (d abord les tests rapides, ensuite les tests longs) #------------------------------------------------------------------------------------------ #--- tests rapides --- +afficher_ligne_tirets('print'); +print " TESTS RAPIDES\n"; +afficher_ligne_tirets('print'); +sleep 1;#petite pause pour laisser a l utilisateur le temps de voir l affichage precedent print $HANDLE_TEX "\\clearpage\n"; print $HANDLE_TEX "\\section{Tests rapides}\n"; recopie_README("R", $HANDLE_TEX, \@REP_TESTS_R, @LISTE_RUBRIQUES_README); #--- tests longs --- +afficher_ligne_tirets('print'); +print " TESTS LONGS\n"; +afficher_ligne_tirets('print'); +sleep 1;#petite pause pour laisser a l utilisateur le temps de voir l affichage precedent print $HANDLE_TEX "\\clearpage\n"; print $HANDLE_TEX "\\section{Tests longs}\n"; recopie_README("L", $HANDLE_TEX, \@REP_TESTS_L, @LISTE_RUBRIQUES_README); @@ -216,8 +230,13 @@ close($HANDLE_TEX); # 3- deuxieme pdflatex (table des matieres et index) #------------------------------------------------------------------------------------------ print "\n"; +afficher_ligne_tirets('print'); print "compilation pdflatex (1ere fois)\n"; +afficher_ligne_tirets('print'); +sleep 1;#petite pause pour laisser a l utilisateur le temps de voir l affichage precedent +#--- #-1ere comilation (pdflatex avec option -halt-on-error pour forcer a quitter a la moindre erreur) +#--- system("pdflatex -halt-on-error $racine_fic_latex.tex > toto.log"); #-verif presence .pdf if(not -e "$racine_fic_latex.pdf") { @@ -231,8 +250,13 @@ system("pdflatex -halt-on-error $racine_fic_latex.tex > toto.log"); chdir ".."; sortie_programme(); } +#--- #-generation de l index +#--- +afficher_ligne_tirets('print'); print "compilation index (makeindex)\n"; +afficher_ligne_tirets('print'); +sleep 1;#petite pause pour laisser a l utilisateur le temps de voir l affichage precedent #-verif presence .idx if(not -e "$racine_fic_latex.idx") { warn "\nErreur (prog:$NOM_PROG) : le fichier index .idx n a pas ete cree\n"; @@ -246,8 +270,13 @@ print "compilation index (makeindex)\n"; sortie_programme(); } system("makeindex $racine_fic_latex.idx > toto.log"); +#--- #-2eme compilation (pdflatex avec option -halt-on-error pour forcer a quitter a la moindre erreur) +#--- +afficher_ligne_tirets('print'); print "compilation pdflatex (2eme fois)\n"; +afficher_ligne_tirets('print'); +sleep 1;#petite pause pour laisser a l utilisateur le temps de voir l affichage precedent system("rm -f $racine_fic_latex.pdf"); system("pdflatex -halt-on-error $racine_fic_latex.tex > toto.log"); #-verif presence .pdf @@ -740,6 +769,9 @@ sub afficher_ligne_tirets { #-------------------------------------------------- #subroutine d ecriture du preambule du fichier .tex temporaire #-------------------------------------------------- +#a noter que dans ce preambule : +# - il y a des declarations particulieres pour generer proprement un index par mots-cles renvoyant +# aux sections (au lieu des numeros de page). Il s agit de \usepackage{imakeidx}, \newcommand{\ind}, \newcommand{\inds} sub preambule_fic_tex_tmp { my $handle = shift; @@ -815,6 +847,7 @@ citecolor= green %couleur citation biblio \newcommand{\inds}[2]{#1} % exemple de sequence avec une section et 2 mots indexes concernant cette section : % \section{Revelations : la face cachee du monde de la recherche}\label{section_1}\ind{scandale}{section_1}\ind{Capital_sur_M6}{section_1} +%commande suivante pour que l index figure dans la table des matieres \makeindex[intoc] \begin{document} diff --git a/Perl/test.pl b/Perl/test.pl index 2468b53..a6c0f8f 100755 --- a/Perl/test.pl +++ b/Perl/test.pl @@ -121,8 +121,8 @@ foreach my $arg (@ARGV) { #affichage de l aide si option -h ou -help ou si il n y a pas assez d arguments if($is_opt_help or $#ARGV < 1) { print "USAGE (prog:$NOM_PROG)... \n"; - print "Ce script Perl s'utilise avec 2 arguments : \n"; - print " -> 1] Nom du repertoire Test dans lequel se situe un fichier '.info'.\n"; + print "Ce script Perl s utilise avec 2 arguments : \n"; + print " -> 1] Nom du repertoire Test dans lequel se situe un fichier \'.info\'.\n"; print " -> 2] Nom de l executable Herezh\n"; exit; } diff --git a/Rapport/rapport_test_L.txt b/Rapport/rapport_test_L.txt index 0ab2124..3fd1daf 100644 --- a/Rapport/rapport_test_L.txt +++ b/Rapport/rapport_test_L.txt @@ -1,11 +1,11 @@ --------------------------------------- - RAPPORT DE TEST - --------------------------------------- -- version HZ++ : HZppfast 6.709 +- version HZ++ : HZppfast 6.713 - Batterie de tests lancee -- le 22/06/2015 -- a 16:47 (heure locale) +- le 13/07/2015 +- a 18:48 (heure locale) --------------------------------------- ./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/CP_venant_du_3D/Test_L_tunnel_ISOELAS_CP/.CVisu1 diff --git a/Rapport/rapport_test_R.txt b/Rapport/rapport_test_R.txt index f64aa89..7d69152 100644 --- a/Rapport/rapport_test_R.txt +++ b/Rapport/rapport_test_R.txt @@ -1,11 +1,11 @@ --------------------------------------- - RAPPORT DE TEST - --------------------------------------- -- version HZ++ : HZppfast 6.709 +- version HZ++ : HZppfast 6.713 - Batterie de tests lancee -- le 22/06/2015 -- a 16:47 (heure locale) +- le 13/07/2015 +- a 18:47 (heure locale) --------------------------------------- ./Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/.CVisu1 @@ -94,12 +94,24 @@ - comparaison relative (precision : 1.e-3%) -> OK -> grandeur testee : colonne [22] - - comparaison absolue (precision : 1.e-6) -> OK - - comparaison relative (precision : 1.e-3%) -> OK + - comparaison absolue (precision : 1.e-6) -> ECHEC + -> Valeur = 7.911199265281e+03 + -> Valeur reference = 3.955599632662e+03 + -> Difference = 3955.599633 + - comparaison relative (precision : 1.e-3%) -> ECHEC + -> Valeur = 7.911199265281e+03 + -> Valeur reference = 3.955599632662e+03 + -> Difference relative = 100.000% -> grandeur testee : colonne [23] - - comparaison absolue (precision : 1.e-6) -> OK - - comparaison relative (precision : 1.e-3%) -> OK + - comparaison absolue (precision : 1.e-6) -> ECHEC + -> Valeur = -5.715819369653e+00 + -> Valeur reference = -2.857909684829e+00 + -> Difference = -2.857910 + - comparaison relative (precision : 1.e-3%) -> ECHEC + -> Valeur = -5.715819369653e+00 + -> Valeur reference = -2.857909684829e+00 + -> Difference relative = 100.000% -> grandeur testee : colonne [24] - comparaison absolue (precision : 1.e-6) -> OK @@ -248,7 +260,7 @@ - comparaison absolue (precision : 1.e-6) -> OK - comparaison relative (precision : 1.e-3%) -> OK -./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/.CVisu1 +./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cube_MOONEY_RIVLIN_3D_cisaillement/.CVisu1 -> grandeur testee : colonne [1] - comparaison absolue (precision : 1.e-6) -> OK - comparaison relative (precision : 1.e-3%) -> OK @@ -273,7 +285,7 @@ - comparaison absolue (precision : 1.e-6) -> OK - comparaison relative (precision : 1.e-3%) -> OK -./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/.CVisu1 +./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cube_MOONEY_RIVLIN_3D_traction/.CVisu1 -> grandeur testee : colonne [1] - comparaison absolue (precision : 1.e-6) -> OK - comparaison relative (precision : 1.e-3%) -> OK diff --git a/documentation_tests.pdf b/catalogue_tests.pdf similarity index 86% rename from documentation_tests.pdf rename to catalogue_tests.pdf index d8a1e009ba882c1211166670c5c56253823c9c39..d1cdaffdfffa178d81dc6ff6a6073f9fcbe4bb2c 100644 GIT binary patch delta 14889 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 delta 14696 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 UQ3{F-%gV+IOFMC=uDc0EKNp^C3LDwQ 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�tzwwvICYg{ASG&?k?S{pPe9 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 Q<>h-xN5sUWprwfQUv|cSn*aa+ literal 0 HcmV?d00001 diff --git a/verifier_exeHZ.pl b/verifier_exeHZ.pl new file mode 100755 index 0000000..4b59f89 --- /dev/null +++ b/verifier_exeHZ.pl @@ -0,0 +1,410 @@ +#!/usr/bin/perl +#!/usr/local/bin/perl +use strict; +use warnings; +use English; +use File::Basename; +use File::Spec::Functions qw(splitpath rel2abs);#($volume, $rep, $fic) = splitpath($path); $absolute_path = rel2abs($relative_path) +my $NOM_PROG = basename $PROGRAM_NAME; +#pattern d un reel pour les regex (desormais redondant avec $RE{num}{real} de Regexp::Common) +my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; + + + + + +########################################################################## +########################################################################## +########################################################################## +# +# RECUPERATION ET VERIFICATION DES ARGUMENTS ET OPTIONS DU SCRIPT +# +########################################################################## +########################################################################## +########################################################################## +#indicateur de l option -h ou -help => affichage aide +my $is_opt_help = 0; +foreach my $arg (@ARGV) { + if($arg =~ /-h/i or $arg =~ /-help/i) { + $is_opt_help = 1; + last; + } +} + +#-------------------------------------------------------------------------- +# affichage de l aide si option -h ou -help ou si il n y a pas assez d arguments +#-------------------------------------------------------------------------- +if($is_opt_help or $#ARGV < 0) { + afficher_ligne_tirets('print'); + print "Script $NOM_PROG \n"; + afficher_ligne_tirets('print'); + print " Description :\n"; + print " Lancement de la batterie de verification Herezh\n"; + print " Par defaut, ce script lance tous les tests disponibles dans l arborescence.\n"; + print " Un certain nombre d options sont proposees pour modifier le fonctionnement.\n"; + print "\n"; + print " Pour les tests rapides : le rapport sera contenu dans Rapport/rapport_Test_R.txt\n"; + print " Pour les tests longs : le rapport sera contenu dans Rapport/rapport_Test_L.txt\n"; + print " En cas d option -rpt : le rapport sera contenu dans Rapport/rapport_test_debugECHEC.txt\n"; + print "\n"; + print " Usage : $NOM_PROG [-R] [-L] [-rpt fic_rapport] exeHZ\n"; + print "\n"; + print " Argument obligatoire :\n"; + print " exeHZ : nom de l executable Herezh\n"; + print "\n"; + print " Options :\n"; + print " -R : ne lancer que les tests rapides (Test_R)\n"; + print "\n"; + print " -L : ne lancer que les tests longs (Test_L)\n"; + print "\n"; + print " -rpt fic_rapport : seuls les tests presents dans le fichier de rapport\n"; + print " fic_rapport et ayant un indicateur ECHEC seront lances\n"; + print "\n"; + print " Remarque :\n"; + print " contrairement aux commandes linux classiques, les options de ce script\n"; + print " peuvent etre placees n importe ou. Par exemple, les commandes suivantes\n"; + print " fonctionnent de maniere equivalente :\n"; + print " > $NOM_PROG -R HZppfast_Vn-1\n"; + print " > $NOM_PROG HZppfast_Vn-1 -R\n"; + afficher_ligne_tirets('print'); + print "\n"; + exit; +} + + +#-------------------------------------------------------------------------- +# recuperation des arguments et options +#-------------------------------------------------------------------------- +my $exeHZ;#argument obligatoire : nom de l executable Herezh +my $is_opt_R = 0;#indicateur de l option -R (0 par defaut; si egal 1 => lancement des tests rapides Test_R uniquement) +my $is_opt_L = 0;#indicateur de l option -L (0 par defaut; si egal 1 => lancement des tests longs Test_L uniquement) +my $fic_rapport;#option -rpt : nom du fichier de rapport a exploiter (non defini par defaut; si utilisation de l option -rpt => lancement uniquement des tests ayant echoue de ce rapport (ECHEC) + +#On vide le contenu de @ARGV en conservant les arguments obligatoires dans @args et traiter les options au cas par cas +my $opt; +my @args; +while($#ARGV != -1) { + $opt = shift(@ARGV); + + #option -R + if($opt eq '-R') { + $is_opt_R = 1; + } + #option -L + elsif($opt eq '-L') { + $is_opt_L = 1; + } + #option -rpt + elsif($opt eq '-rpt') { + ($#ARGV != -1) or die "\nErreur (prog:$NOM_PROG, opt:-rpt) : l option -rpt necessite de specifier un nom de fichier rapport...\n\n"; + $fic_rapport = shift(@ARGV); + #verif de l existence du fichier rapport + (-e $fic_rapport) or die "\nErreur (prog:$NOM_PROG, opt:-rpt) : fichier rapport $fic_rapport introuvable...\n\n"; + } +#* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +#note aux developpeurs : AJOUTER ICI LE TRAITEMENT D UNE NOUVELLE OPTION +#* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + + + + #cas d une option inconnue (on l ignore) + elsif($opt =~ /^-/) { + warn "Attention (prog:$NOM_PROG) : l option $opt est inconnue (et ignoree)...\n"; + warn "(taper entree pour continuer...)\n"; + ; + } + #sinon on enregistre l argument dans @args + else { + push(@args, $opt); + } +}#while($#ARGV != -1) + +#a ce stade, les arguments restants sont dans @args +($#args >= 0) or die "\nErreur (prog:$NOM_PROG) : arguments manquants ($NOM_PROG -h pour afficher l aide)...\n\n"; +#premier argument obligatoire : nom de l executable Herezh +$exeHZ = shift(@args); +#* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +#note aux developpeurs : AJOUTER ICI DE NOUVELLES VERIF EN LIEN AVEC UNE NOUVELLE OPTION OU UN NOUVEL ARGUMENT +#* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + +#-------------------------------------------------------------------------- +# verification des arguments et options +#-------------------------------------------------------------------------- +#validite de l executable Herezh +(verif_commande($exeHZ) ne '0') or die "\nErreur (prog:$NOM_PROG) : commande Herezh $exeHZ introuvable ou non executable...\n\n"; + +#option -R et -L mutuellement exclusives (si les 2 ont ete utilisees => erreur) +if($is_opt_R and $is_opt_L) { + die "\nErreur (prog:$NOM_PROG, opt:-R/-L) : interdiction d utiliser les options -R et -L en meme temps...\n\n"; +} + +#si option -rpt : verif de l existence et de la validite du fichier rapport $fic_rapport +if(defined $fic_rapport) { + #existence + (-e $fic_rapport) or die "\nErreur (prog:$NOM_PROG, opt:-rpt) : fichier $fic_rapport introuvable...\n\n"; + + #validite (par une heuristique : est valide si on y trouve la chaine "RAPPORT DE TEST", sensible a la casse) + my $fichier_valide = 0; + open(FIC, "<$fic_rapport"); + while() {next if(not /RAPPORT DE TEST/); $fichier_valide = 1; last;} + close(FIC); + $fichier_valide or die "\nErreur (prog:$NOM_PROG, opt:-rpt) : fichier $fic_rapport existe mais n est pas un fichier de rapport genere par le script $NOM_PROG...\n\n"; +} +#* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +#note aux developpeurs : AJOUTER ICI DE NOUVELLES VERIF EN LIEN AVEC UNE NOUVELLE OPTION OU UN NOUVEL ARGUMENT +#* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + + + +########################################################################## +########################################################################## +########################################################################## +# +# LANCEMENT DES TESTS +# +########################################################################## +########################################################################## +########################################################################## + +#verification prealable de la presence du repertoire Rapport +# > si existe deja mais est un fichier => arret avec message d erreur +if(-f "./Rapport") { + die "\nErreur (prog:$NOM_PROG) : la presence d un repertoire de nom Rapport est necessaire mais le repertoire contient deja un fichier de nom Rapport...\n\n"; +} +# > si absent => on le cree +mkdir "./Rapport" if(not -e "./Rapport"); + + +#-------------------------------------------------------------------------- +# option -rpt => lancement uniquement des tests ayant echoue du rapport $fic_rapport (et sortie du programme) +#-------------------------------------------------------------------------- +my @LISTE_TESTS_ECHEC; +if(defined $fic_rapport) { + open(FIC, "<$fic_rapport"); + my $is_test_ECHEC; + my $nom_repertoire_test; + while() { + #si c est une ligne finissant par .CVisu[no], alors cette ligne contient un nom de repertoire de test + if(/^\s*(.+).CVisu\d+/) { + $nom_repertoire_test = $1;#on actualise le nom de repertoire de test courant + $is_test_ECHEC = 0;#on reset l indicateur d echec + + #petite retouche cosmetique => suppression d eventuels / en fin de nom de repertoire + $nom_repertoire_test =~ s/\/+$//; + } + #si le mot ECHEC est trouve => on enregistre le repertoire (sauf si ca a deja ete fait precedemment) + elsif(/ECHEC/) { + push(@LISTE_TESTS_ECHEC, $nom_repertoire_test); + #dans la ligne suivante, on evite d enregistrer plusieurs fois un meme repertoire + pop(@LISTE_TESTS_ECHEC) if($#LISTE_TESTS_ECHEC >= 1 and $LISTE_TESTS_ECHEC[-1] eq $LISTE_TESTS_ECHEC[-2]); + } + } + close(FIC); + ##print "$_\n" for @LISTE_TESTS_ECHEC; exit; + + #si il n y a aucun test ECHEC dans @LISTE_TESTS_ECHEC => tant mieux! on affiche la bonne nouvelle et on exit + if($#LISTE_TESTS_ECHEC == -1) { + print "\n"; + print "Aucun test ECHEC n a ete trouve dans le fichier $fic_rapport ...\n\n"; + print " - arret -\n"; + exit; + } + + #sinon => lancement des tests + else { + #renommage d un eventuel rapport precedent en _OLD (et la liste des tests associee) + system("mv -f Rapport/rapport_test_debugECHEC.txt Rapport/rapport_test_debugECHEC_OLD.txt"); + system("mv -f Rapport/Liste_Tests_debugECHEC.txt Rapport/Liste_Tests_debugECHEC.txt"); + + #creation du rapport temporaire + system("./Perl/genere_rapport.pl Rapport/rapport_test.txt $exeHZ"); + + #liste des tests + foreach my $rep_test (@LISTE_TESTS_ECHEC) { + system("echo $rep_test >> Rapport/Liste_Tests_debugECHEC.txt"); + } + + #lancement des tests (dont le resultat s ecrit dans le rapport temporaire) + foreach my $rep_test (@LISTE_TESTS_ECHEC) { + system("./Perl/test.pl $rep_test $exeHZ"); + } + + #creation du fichier rapport final + system("mv -f Rapport/rapport_test.txt Rapport/rapport_test_debugECHEC.txt"); + #affichage du rapport + system("nedit Rapport/rapport_test_debugECHEC.txt &"); + + } + + #on arrete le script + exit; + +}#fin option -rpt + + +#-------------------- +#lancement des tests rapides (sauf en cas d option -L) +#-------------------- +unless($is_opt_L) { + #recherche des tests Test_R dans l arborescence (utilisation de find et suppression de chaque retour a la ligne avec chomp) + my @LISTE_TESTS_R = map {chomp; $_} qx(find . -name "Test_R*" -type d); + + #si il n y a aucun test dans @LISTE_TESTS_R => on le signale + if($#LISTE_TESTS_R == -1) { + print "\n"; + print "Aucun test rapide Test_R n a ete trouve...\n\n"; + } + + #sinon => lancement des tests + else { + #renommage d un eventuel rapport precedent en _OLD (et la liste des tests associee) + system("mv -f Rapport/rapport_test_R.txt Rapport/rapport_test_R_OLD.txt"); + system("mv -f Rapport/Liste_Tests_R.txt Rapport/Liste_Tests_R.txt"); + + #creation du rapport temporaire + system("./Perl/genere_rapport.pl Rapport/rapport_test.txt $exeHZ"); + + #liste des tests + foreach my $rep_test (@LISTE_TESTS_R) { + system("echo $rep_test >> Rapport/Liste_Tests_R.txt"); + } + + #lancement des tests (dont le resultat s ecrit dans le rapport temporaire) + foreach my $rep_test (@LISTE_TESTS_R) { + system("./Perl/test.pl $rep_test $exeHZ"); + } + + #creation du fichier rapport final + system("mv -f Rapport/rapport_test.txt Rapport/rapport_test_R.txt"); + #affichage du rapport + system("nedit Rapport/rapport_test_R.txt &"); + } +} + +#-------------------- +#lancement des tests longs (sauf en cas d option -R) +#-------------------- +unless($is_opt_R) { + #recherche des tests Test_L dans l arborescence (utilisation de find et suppression de chaque retour a la ligne avec chomp) + my @LISTE_TESTS_L = map {chomp; $_} qx(find . -name "Test_L*" -type d); + + #si il n y a aucun test dans @LISTE_TESTS_L => on le signale + if($#LISTE_TESTS_L == -1) { + print "\n"; + print "Aucun test long Test_L n a ete trouve...\n\n"; + } + + #sinon => lancement des tests + else { + #renommage d un eventuel rapport precedent en _OLD (et la liste des tests associee) + system("mv -f Rapport/rapport_test_L.txt Rapport/rapport_test_L_OLD.txt"); + system("mv -f Rapport/Liste_Tests_L.txt Rapport/Liste_Tests_L.txt"); + + #creation du rapport temporaire + system("./Perl/genere_rapport.pl Rapport/rapport_test.txt $exeHZ"); + + #liste des tests + foreach my $rep_test (@LISTE_TESTS_L) { + system("echo $rep_test >> Rapport/Liste_Tests_L.txt"); + } + + #lancement des tests (dont le resultat s ecrit dans le rapport temporaire) + foreach my $rep_test (@LISTE_TESTS_L) { + system("./Perl/test.pl $rep_test $exeHZ"); + } + + #creation du fichier rapport final + system("mv -f Rapport/rapport_test.txt Rapport/rapport_test_L.txt"); + #affichage du rapport + system("nedit Rapport/rapport_test_L.txt &"); + } +} + + + + + + + + + + + + + +########################################################################## +########################################################################## +########################################################################## +# +# SUBROUTINES +# +########################################################################## +########################################################################## +########################################################################## + + +##################################################################################################### +#subroutine permettant d ecrire une ligne de tirets de la largeur du terminal +##################################################################################################### +# +# en entree : +# - print ou warn (suivant que l on souhaite afficher avec print (donc vers STDOUT) ou warn (donc vers STDERR) +# +sub afficher_ligne_tirets { + use Term::ReadKey; + my $nb_char_largeur_terminal = ( GetTerminalSize() )[0];#largeur du terminal en nombre de caracteres (via package Term::ReadKey) + + my $funct_disp = shift; + + + my $ligne_tirets = ''; + $ligne_tirets .= '-' for(1 .. $nb_char_largeur_terminal); + + print "$ligne_tirets\n" if($funct_disp eq 'print'); + warn "$ligne_tirets\n" if($funct_disp eq 'warn'); +}#sub afficher_ligne_tirets + + + +##################################################################################################### +#subroutine qui recherche l existence d une commande et renvoie le premier path trouve (renvoie 0 si commande introuvable) +##################################################################################################### +# en entree : +# - nom de la commande +# +# en sortie : +# - chemin aboslu de la commande (0 si commande introuvable) +# +sub verif_commande { + my $cmd = shift;#nom de la commande + + #cas d un chemin absolu ou relatif (si la commande commence par . ou /. Par exemple : ./HZpp ../HZppfast ou /Users/dupont/bin/HZppfast) + if($cmd =~ /^\./ or $cmd =~ /^\//) { + #on passe la commande en chemin absolu + $cmd = rel2abs($cmd); + return $cmd; + } + + #sinon on regarde dans la variable environnement $PATH + foreach my $path (split(/\s*:\s*/, $ENV{PATH})) { + if(-x "$path/$cmd") { + #on s assure que c est un chemin absolu + $cmd = rel2abs("$path/$cmd"); + return $cmd; + } + } + + #on regarde a nouveau si la commande est en chemin absolu ou relatif + # (cas d une commande qui ne commence pas par . ou / et qui n est pas dans les PATH. Par exemple : rep/HZpp) + if(-x $cmd) { + #on passe la commande en chemin absolu + $cmd = rel2abs($cmd); + return $cmd; + } + + #cas ou la commande est introuvable + return 0; +}#sub verif_commande diff --git a/verifier_exeHZ b/verifier_exeHZ.zsh similarity index 96% rename from verifier_exeHZ rename to verifier_exeHZ.zsh index b403175..5f1278b 100755 --- a/verifier_exeHZ +++ b/verifier_exeHZ.zsh @@ -80,7 +80,7 @@ mv -f Rapport/rapport_test_R.txt Rapport/rapport_test_R_OLD.txt ###--- le chemin de tous ces répertoires /Test_R* ---### ###-------------------------------------------------------### mv Rapport/Liste_Tests_R.txt Rapport/Liste_Tests_R_OLD.txt -foreach f (`find . -name "*Test_R*" -type d`) +foreach f (`find . -name "Test_R*" -type d`) echo $f >> Rapport/Liste_Tests_R.txt end @@ -94,7 +94,7 @@ end #- Execution de "test.pl nom_repertoire type_calcul" -# #- une fois que l'on est placé au bon endroit -# #-----------------------------------------------------# -foreach f (`find . -name "*Test_R*" -type d`) +foreach f (`find . -name "Test_R*" -type d`) ./Perl/test.pl $f $cmd_herezh end @@ -128,7 +128,7 @@ mv -f Rapport/rapport_test_L.txt Rapport/rapport_test_L_OLD.txt ###--- le chemin de tous ces répertoires /Test_L ---### ###-------------------------------------------------------### mv Rapport/Liste_Tests_L.txt Rapport/Liste_Tests_L_OLD.txt -foreach f (`find . -name "*Test_L*" -type d`) +foreach f (`find . -name "Test_L*" -type d`) echo $f >> Rapport/Liste_Tests_L.txt end @@ -142,7 +142,7 @@ end #- Execution de "test.pl nom_repertoire type_calcul" -# #- une fois que l'on est placé au bon endroit -# #-----------------------------------------------------# -foreach f (`find . -name "*Test_L*" -type d`) +foreach f (`find . -name "Test_L*" -type d`) ./Perl/test.pl $f $cmd_herezh end