Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
hekate:heart_overview [2010/03/04 11:15] esimon |
hekate:heart_overview [2019/06/27 15:49] (current) |
To download or check examples of using these libraries check [[HeaRT HowTo]]. | To download or check examples of using these libraries check [[HeaRT HowTo]]. |
===== Automatic Tests ===== | ===== Automatic Tests ===== |
A simple mechanism for testing HeaRT was implemented. It is a bash script called //test.sh// located in //tests// directory. The script takes as a parameter a name of the file with testing data, and produces information about errors on the screen. More detailed information are stored in //log.txt// file automatically created by the script. | A simple mechanism for testing HeaRT was implemented. It is a bash script called //test.sh// located in //tests// directory. (It can be downloaded also from here: {{:hekate:test.txt|test.sh}}) The script takes as a parameter a name of the file with testing data, and produces information about errors on the screen. More detailed information are stored in //log.txt// file automatically created by the script. |
| |
Example use of the script looks as follow:<code>./test.sh thermostat_test.pl</code> | Example use of the script looks as follow:<code>./test.sh thermostat_test.pl</code> |
- A test file is a HMR file prepared for testing script. | - A test file is a HMR file prepared for testing script. |
- A HMR file that should be a test file has to have two following lines at the begining of the file:<code>:- ensure_loaded('../heart.pl'). | - A HMR file that should be a test file has to have two following lines at the begining of the file:<code>:- ensure_loaded('../heart.pl'). |
:- ensure_loaded('test-predicates.pl').</code> The test-predicates file can be downloaded from here: {{:hekate:log.txt|example logfile}}. | :- ensure_loaded('test-predicates.pl').</code> The test-predicates file can be downloaded from here: {{:hekate:test-predicates.pl|}} |
- Special sets of states have to be added to the file. The state that is an input file have to be called **initX**, where X is some number. The state that describes the expected output should be called **evalX**, where X is a number that binds **init** state with **eval** state. Example of the testing states are shown below: | - Special sets of states have to be added to the file. The state that is an input file have to be called **initX**, where X is some number. The state that describes the expected output should be called **evalX**, where X is a number that binds **init** state with **eval** state. Example of the testing states are shown below: |
<code> | <code> |