Projet mkd/shell.c

De Wiki EELL.

(Différences entre les versions)
m (Mise à jour)
m (Fichiers de la fonction shell_() : Mise à jour)
 
(Une version intermédiaire masquée)
Ligne 93 : Ligne 93 :
   The 'Codes': table of 5 characters:  
   The 'Codes': table of 5 characters:  
     extern char codes[];  
     extern char codes[];  
-
     They must be défined in the calling function:
+
     They must be defined in the calling function:
     char codes[5] = {0,0,0,0,0};
     char codes[5] = {0,0,0,0,0};
   The 'Options': n,s,t,v:
   The 'Options': n,s,t,v:
     extern unsigned char n,s,t;
     extern unsigned char n,s,t;
-
     They must be dEfined in the calling function:
+
     They must be defined in the calling function:
     unsigned char n=0,s=0,t=0;
     unsigned char n=0,s=0,t=0;
   With the options:
   With the options:
Ligne 288 : Ligne 288 :
                             {
                             {
                                 putc('\t',pfdoc); // tab to target
                                 putc('\t',pfdoc); // tab to target
-
                                 putch('\t');     // tab to stdout
+
                                 if(s)putch('\t'); // tab to stdout
                             }
                             }
                             else  
                             else  
                             {
                             {
                                 putc(' ',pfdoc); // blank to target
                                 putc(' ',pfdoc); // blank to target
-
                                 putch(' ');     // blank to stdout
+
                                 if(s)putch(' '); // blank to stdout
                             }
                             }
                           } /*S t */
                           } /*S t */
Ligne 325 : Ligne 325 :
== Fichier de commande des tests ==
== Fichier de commande des tests ==
-
MAKE_Tests_U, CLEAN_Tests_U
+
{{Boîte déroulante/début|titre=MAKE_Tests_U, CLEAN_Tests_U}}
 +
* MAKE_Tests_U
 +
<pre style="color:blue">
 +
#!/bin/bash
 +
#O ../../mkd tests under Linux.
 +
#O Epreuve de vérification de la fonction cpp_() avec ../../mkd
-
Analyse des tests Konsole
+
#O    Copy Test_cpp_U.cc in target created file
-
Analysis 2013-05-09
+
      cat MAKE_Tests_cpp_U > Tests_cpp_U.tstshell
-
Fichier source des tests
+
#O    Test options -nstv with source "MAKE_Tests_cpp_U" and target "*.tstshell"
 +
#O    - and screen redirection to tstshell.screen
 +
 
 +
#O 1: Test de l'option -s append target
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "1: Test de l'option -s append target" >> Tests_cpp_U.tstshell
 +
      ../../mkd -savS O MAKE_Tests_cpp_U *.tstshell > tstshell.screen
 +
 
 +
#O 1: Test option -t
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "1: Test option -t" >> Tests_cpp_U.tstshell
 +
      ../../mkd -tavS O MAKE_Tests_cpp_U *.tstshell # >> tstshell.screen
 +
 
 +
#O 1: Test option -n, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "1: Test option -n, with append files target and screen" >> Tests_cpp_U.tstshell
 +
      ../../mkd -navS O MAKE_Tests_cpp_U *.tstshell # >> tstshell.screen
 +
 
 +
#O 2: Test options -ns, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "2: Test options -ns, with append files target and screen" >> Tests_cpp_U.tstshell
 +
      ../../mkd -nsavS O MAKE_Tests_cpp_U *.tstshell >> tstshell.screen
 +
 
 +
#O 2: Test options -nt, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "2: Test options -nt, with append files target and screen" >> Tests_cpp_U.tstshell
 +
      ../../mkd -ntavS O MAKE_Tests_cpp_U *.tstshell >> tstshell.screen
 +
 
 +
#O 2: Test options -nst, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Tests_cpp_U.tstshell
 +
      echo "2: Test options -nst, with append files target and screen" >> Tests_cpp_U.tstshell
 +
      ../../mkd -nstavS O MAKE_Tests_cpp_U *.tstshell >> tstshell.screen
 +
 
 +
#O 5: Independant test with -nstv "Test_cpp_U.cc" and target "*.tstshelllastline"
 +
      ../../mkd -nstvwS T MAKE_Tests_cpp_U tstshelllastline > tstshelllastline.screen
 +
 
 +
#O 5: Independant test with -nstv "Test_cpp_U.c2" and target file "*.tstshelllastline"
 +
      ../../mkd -nsvaS '**' MAKE_Tests_cpp_U tstshelllastline >> tstshelllastline.screen
 +
 
 +
 
 +
 
 +
#O    Break with gedit "Tests_cpp_U.tstshell", "tstshell.screen"
 +
      gedit Tests_cpp_U.tstshell tstshell.screen tstshelllastline tstshelllastline.screen
 +
 
 +
 
 +
#T test tab and lastline
 +
</pre>
 +
 
 +
* CLEAN_Tests_U
 +
<pre style="color:orange">
 +
#!/bin/dash
 +
#O File Tests_Clean
 +
#O Force delete files created with mkd "tests" under Linux.
 +
      rm -f Tests_cpp_U.tstshell
 +
      rm -f tstshell.screen
 +
      rm -f tstshelllastline
 +
      rm -f tstshelllastline.screen
 +
      rm -f *.doc
 +
</pre>
 +
{{Boîte déroulante/fin}}
 +
 
 +
== Analyse des tests Konsole ==
 +
{{Boîte déroulante/début|titre=Analysis 2013-05-09}}
 +
<pre style="color:black">
 +
Fichier Analysis texte UTF-8
 +
Analyse du : 9 mai 2013 par Clara pour le retour à la conception détaillée.
 +
-------------------------------------------------------------------------------
 +
Résultats du test unitaire de la fonction shell_() du fichier shell.c intégrée
 +
à la commande mkd 2013 alpha 05
 +
.
 +
Ce test est effectué avec la version mkd 2013 alpha pour évaluer les
 +
modifications à effectuer dans la version alpha 2013.
 +
.
 +
    D'après les directives et les fichiers d'analyse Tests_cpp_U.tstshell,
 +
    tstshell.screen, tstshelllastline et tstshelllastline.screen
 +
.
 +
    Directives de tests unitaires version alpha 2013:
 +
    -------------------------------------------------
 +
1:  Vérifiez les options n, s et t séparément:
 +
    - les essais séparés fonctionnent correctement et sont conformes
 +
.
 +
2:  Vérifiez que la numérotation des lignes est correcte dans tous les cas de
 +
    décodage des lignes. n, ns. nt, nst.
 +
    - Les essais réalisés ont été conformes
 +
.
 +
3:  Vérifiez que le texte reste à la bonne place dans tous les cas de décodage:
 +
    toute la ligne (dans la cas de la directive de compilation FULL_LINE), ou
 +
    texte seul.
 +
    - Le résultat est conforme (Sans de numérotation des lignes)
 +
.
 +
4:  -- Vérifiez que les tabulations sont bien prises en charge dans tous les
 +
      cas d'extraction des lignes.
 +
    -- Vérifiez de même pour les espaces.
 +
    - Les résultas sont conformes. Il est à noter que les tabulations créent un
 +
      décalage du texte avec l'option -n numéroation
 +
.
 +
5:  La fonction doit être éprouvée de telle sorte qu'un commentaire qui se
 +
    termine par le caractère de fin de fichier soit entièrement copié dans le
 +
    fichier cible.
 +
    Le caractère de fin de fichier décodé avant le(les) caractère(s) de fin de
 +
    commentaire doit être remplacé par un caractère de fin de ligne 0xOA.
 +
    - Le fichier tstshelllastline commentaire ligne; fait apparaître
 +
      une fin de fichier conforme.
 +
.
 +
6:  Le caractère de fin de fichier (EOF) NE DOIT JAMAIS APPARAÎTRE DANS LE
 +
    TEXTE DU FICHIER CIBLE.
 +
    Ceci provoquait un bug dans la version Alpha de l'application fenêtrée
 +
    mkdcppw à l'étape du test d'intégration.
 +
    - La réponse est incluse dans les tests 5:
 +
    - Nous avons constaté que EOF est précédé du caractère OxOA (New Line)
 +
    - Tous les caractères sont recopiés octets par octets. La commande mkd
 +
      ignore le format du texte recopié. Il n'en est pas de même pour mkdcppw
 +
      qui ne reconnaît que les caractères UTF-8 nécessaires à l'impression.
 +
.
 +
7:  La fin de fichier a été testée avec les codes '**' et le caractère 0xOA
 +
    précède bien la fin du fichier sans retour à la ligne.
 +
    Le caractère # à l'itérieur d'une chaîne de caractères n'est pas interprété
 +
    comme un début de commentaire conformémént aux directives.
 +
    De même,\#T n'est pas interprété par mkd comme étant un commentaire shell.
 +
</pre>
 +
{{Boîte déroulante/fin}}
 +
 
 +
== Fichier source des tests ==
 +
{{Boîte déroulante/début|titre=MAKE_Tests_cpp_U}}
 +
<pre style="color:blue">
 +
#!/bin/bash
 +
#O ../../mkd tests under Linux.
 +
#O Epreuve de vérification de la fonction cpp_() avec ../../mkd
 +
 
 +
#O    Copy Test_cpp_U.cc in target created file
 +
      cat Test_cpp_U.cc > Test_cpp_U.tstcpp
 +
 
 +
#O    Test options -nstv with source "Test_cpp_U.cc" and target "*.tstcpp"
 +
#O    - and screen redirection to tstcpp.screen
 +
 
 +
#O 1: Test de l'option -s append target
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "1: Test de l'option -s append target" >> Test_cpp_U.tstcpp
 +
      ../../mkd -savC T Test_cpp_U.cc *.tstcpp > tstcpp.screen
 +
 
 +
#O 1: Test option -t
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "1: Test option -t" >> Test_cpp_U.tstcpp
 +
      ../../mkd -tavC T Test_cpp_U.cc *.tstcpp # >> tstcpp.screen
 +
 
 +
#O 1: Test option -n, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "1: Test option -n, with append files target and screen" >> Test_cpp_U.tstcpp
 +
      ../../mkd -navC T Test_cpp_U.cc *.tstcpp # >> tstcpp.screen
 +
 
 +
#O 2: Test options -ns, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "2: Test options -ns, with append files target and screen" >> Test_cpp_U.tstcpp
 +
      ../../mkd -nsavC T Test_cpp_U.cc *.tstcpp >> tstcpp.screen
 +
 
 +
#O 2: Test options -nt, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "2: Test options -nt, with append files target and screen" >> Test_cpp_U.tstcpp
 +
      ../../mkd -ntavC T Test_cpp_U.cc *.tstcpp >> tstcpp.screen
 +
 
 +
#O 2: Test options -nst, with append files target and screen
 +
      echo "------------------------------------------------------------------" >> Test_cpp_U.tstcpp
 +
      echo "2: Test options -nst, with append files target and screen" >> Test_cpp_U.tstcpp
 +
      ../../mkd -nstavC T Test_cpp_U.cc *.tstcpp >> tstcpp.screen
 +
 
 +
#O 5: Independant test with -nstv "Test_cpp_U.cc" and target "*.tstcpplastline1"
 +
      ../../mkd -nstvwC S Test_cpp_U.cc *.tstcpplastline1 > tstcpplastline.screen1
 +
 
 +
#O 5: Independant test with -nstv "Test_cpp_U.c2" and target file "*.tstcpplastline2"
 +
      ../../mkd -nstvwC T Test_cpp_U.c2 *.tstcpplastblock > tstcpplastblock.screen2 #w bug ?
 +
 
 +
#O 5: Independant test with -nstv "Test_cpp_U.c3" and target file "*.tstcpplastline2"
 +
      ../../mkd -nstvaC T Test_cpp_U.c3 *.tstcpplastblock >> tstcpplastblock.screen2 #w bug ?
 +
 
 +
#O 5: Independant test with -nstv "Test_cpp_U.c4" and target file "*.tstcpplastline2"
 +
      ../../mkd -nstvaC T Test_cpp_U.c4 *.tstcpplastblock >> tstcpplastblock.screen2 #w bug ?
 +
 
 +
 
 +
#O    Break with gedit "Test_cpp_U.tstcpp", "tstcpp.screen"
 +
      gedit Test_cpp_U.tstcpp tstcpp.screen Test_cpp_U.tstcpplastline1 tstcpplastline.screen1 Test_cpp_U.tstcpplastblock tstcpplastblock.screen2
 +
 
 +
"#T chaîne " #T "#T" n'est pas reconnu comme un commentaire
 +
\#T n'est pas interprété comme étant un commentaire par mkd
 +
#TTest 2 tabs and lastline without NL
 +
</pre>
 +
{{Boîte déroulante/fin}}
[[Catégorie:Générateurs de documentation]]
[[Catégorie:Générateurs de documentation]]

Version actuelle en date du 11 mai 2013 à 13:48

Retour aux fichiers en développement →

Sommaire

Fichiers de la fonction shell_()

Ce programme copie les commentaires des lignes contenant le caractère # suivi par un des caractères 'Codes' entrés en paramètre. Si le caractère '#' est précédé de \ ou si il est intégré dans une chaîne, alors il n'est pas considéré comme début de commentaire.

Fichier de commande des tests

Analyse des tests Konsole

Fichier source des tests

Outils personnels