1
0
forked from GitHub/gf-rgl
Files
gf-rgl/unittest
Yousef Almesbahi 97553b080b Update unittest.py
2022-01-23 12:15:03 +01:00
..
2022-01-23 12:15:03 +01:00
2022-01-23 12:15:03 +01:00

Python script for unit testing RGL grammars

Usage

python path/to/unittest.py [-h] [-v] [--no-pmcfg] path/to/testfile.gftest (...)

The script must be located in a sibling directory to the RGL src directory to work properly.

Note: On Windows use WSL (Windows Subsystem for Linux) to run unittest.py script, also replace the commented lines for Windows inside the script.

Test format

The test file should look something like this:

LangSwe: jag sover i huset
LangEng: I sleep in the house

LangSwe: huset verkar stort
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP ...

This contains two tests: Every test should be separated by empty lines. Every line starts with a language, followed by ":" and the sentence (or the abstract syntax tree if the abstract grammar is specified).

You can also see an example in the file unittest-example.gftest.

No PMCFG

If your grammar is complex and takes long time to compile, you can try the option --no-pmcfg, which tells GF to not build the parsing grammar.

Note however that in this case, every test case needs to contain a parse tree.