[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