[Trennmuster] make test

Stephan Hennig mailing_list at arcor.de
Mi Mär 26 19:03:55 CET 2014


Am 19.03.2014 12:41, schrieb Guenter Milde:
> 
>>   make test
> 
> * Der Selbsttest beim Aufruf von skripte/python/werkzeug.py ist ein
>   ähnlicher Konsistenztest der "wortliste".

Habe erstmalig einen Blick drauf geworfen. :)  (Und es mit einem frisch
installierten Python 3.4 nicht zum Laufen bekommen.  Python 2.7 brachte
dann Erfolg.)

Interessant, was prüft das Skript denn so alles?

validate.lua prüft:

  1. die strukturelle Gültigkeit der Datensätze (Anzahl und Besetzung
     der Felder).  Mit

       texlua skripte/validate.lua -s < wortliste

     wird am Ende der Prüfung eine kleine Statistik der Datensätze
     ausgeworfen.  (Sowohl x als auch _ stehen für leere Felder.)

  2. die Gültigkeit der besetzen Felder eines Datensatzes (Wörter).
     Geprüft wird, ob ungültige Buchstaben oder Trennzeichen verwendet
     werden (wobei auch falsch kombinierte gültige Trennzeichen erkannt
     werden, zum Beispiel <>).

     Außerdem wird die Gültigkeit von Alternativ- und Spezialtrennungs-
     Ausdrücken geprüft.  Unter anderem wird bei Alternativen geprüft,
     ob sie buchstabengleich sind.  Bei Spezialtrennungen wird geprüft,
     ob sie einer vorgegebenen Menge entsprechen ({aa/aa-a} wird als
     fehlerhaft erkannt).

     All das wird mittels Grammatik in (L)PEG geprüft.

     Nachgeschaltet wird noch geprüft,

       * ob ein Wort aus mindestens vier Buchstaben besteht,

       * ob in einem normalisierten (patgenisierten) Wort, in dem alle
         Spezialausdrücke aufgelöst und alle Trennzeichen durch das
         Zeichen - ersetzt wurden, an den Wortenden mindestens zwei
         Buchstaben stehen.

       * ob Spezialtrennungen nur in Feldern auftreten, die
         ausschließlich der traditionellen Rechtschreibung entsprechen
         (Felder 3, 6, 8).  Der Ausdruck {ss/ss-s} wiederum darf
         lediglich in Feld 8 auftreten.

  3. Abschließend wird geprüft, ob in einem Datensatz alle
     normalisierten Wörter buchstabengleich sind.


> Wie sollte der als Make-Ziel heißen?

Zwei interne Ziele test-python und text-lua vielleicht, und das Ziel
test hängt von beiden ab?

Viele Grüße,
Stephan Hennig




Mehr Informationen über die Mailingliste Trennmuster