| Did you know ... | Search Documentation: |
| Pack logicmoo_nlu -- ext/ape/tests/README.md |
Author: Kaarel Kaljurand
Version: 2012-02-08
This document explains how to test APE including the various DRS translators that APE contains.
To regression test APE, just run:
bash rtest.bash
or if you want to download the latest regression testset first then run:
bash rtest.bash d
Note that for the above command to work you need an internet connection,
and curl installed. (If you edit the script rtest.bash, then you can
replace the need for curl with the need for wget.)
A file with a timestamp containing the regression test results
along with APE's output is stored into the testruns-directory.
In order to get a digest of the testrun, grep the file for regression tester messages, e.g.:
cat testruns/rtest_050601-1310.txt | grep "^0"
or cat an already filtered file:
cat tmp/now.txt
In order to explore the erronous DRSes, open the file and search for the strings
0000 (Correctly generated an empty DRS)---- (Correctly generated a DRS which is not empty)#### (DRSs which are not empty do not match.)To get a listing of all the regressions:
cat tmp/now.txt | grep "\[.*#.*\]"
Note: the regression testing is only tested with SWI-Prolog.
It is assumed that SWI-Prolog is called swipl,
if it is not the case then modify rtest.bash accordingly
or set a symbolic link, e.g.:
ln -s `which pl` swipl
Runtime of the complete test run on different machines:
Running the test:
echo "[test_drace]. test_drace(core)." | swipl > drace_test_results
echo "[test_drace]. test_drace(np)." | swipl > dracenp_test_results
Getting an overview of the problems by filtering out certain testcases that point to pseudo-problems.
cat drace_test_results | grep "FAIL" | grep -v ":" | grep -v "ach of" | wc
time (bash test_everything.sh) > out.txt 2> err.txt
This takes about 55 seconds on an i3 Linux laptop with SWI-Prolog v6.