Table of Content

Chapter I

Running test

The base command to run test is the tcrun.py command. It will use the NARVAL_HOME environment variable to detect the Narval home directory that should be used to launch tests. (tcprun.py can be found in the tools directory of the narval core)

  1. python tcrun.py all

(give -h/--help option to have a full description of available commands) <deprecated> this will runs all tests and create and out.html file in the current directory containing all the tests results. </deprecated>

  1. python tcrun.py 001 email.read_new1

run tests 001 and email.read_new1. You can launch a group of tests by typing a Python regular expression matching the test name (without extension):

python tcrun.py "email.*"

run all tests beginning with "email"

<deprecated> 3) narval-test clean

this remove all the temporary files created while testing. </deprecated>

Chapter II

Add a new test

1) add a memory file in the directory NARVAL_HOME/tests/cases/ with a name according to the regular expression "ddd(bis)?.xml" (where d mean a decimal digit) for kernel test or "group.name(d)?.xml" for action/transform test. The memory must contain a <al:test> element containing some text which describes the test purpose, category and the recipe to instantiate to start the test (usually the recipe itself is contained in the memory file). See others files in this directory for example.

2) add a validate file in the directory NARVAL_HOME/tests/validate/ with a name according to the regular expression "val-ddd(bis)?.py" or "val-group.name(d)?.py" and should of course match the test name. This file is a python module, where the name "memory" is bound to the list of elements in narval's memory after the test execution. You can make whatever test you want in this module, any exception will notice a failure.

3) in order to decrease the time used for the test, you can add a narvalrc file in the directory NARVAL_HOME/tests/rc. For the kernel tests (matching "ddd(bis)?"), the rc file is "selftestrc.xml" while for applications tests (matching "group.name(d)") , the rc file is "grouprc.xml".

For more information, see http://www.logilab.org/projects/narval.