Files
gf-rgl/unittest/README.md
Yousef Almesbahi 97553b080b Update unittest.py
2022-01-23 12:15:03 +01:00

38 lines
1.1 KiB
Markdown

# 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`](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.