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

[masquer]

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
Catégories
Discussions