izh_test
Kinds of tests
Introduction
Each test is an independent item that can be launched separately.
So each test should be specified to identify it by next items:
- short name - usually a short word (without white spaces)
- full name - usually a short line of text (less than 60 symbols)
- description - any text without constraints
Usually it is implemented by special specification item:
<spec>
<sname>short_name_of_test</sname>
<fname>full name of test</fname>
<descr>description of test</descr>
</spec> |
Where
spec |
Identification information for the test (names, descriptions)
|
sname |
Short name for test, that is used as test name in
GUI-runner
and as component of path to the test in
console runner
.
The sname should not contain line breaks.
It is better if the sname is short and without white spaces.
|
fname |
Full name of test is used as test name in
console runner
.
The fname should not contain line breaks.
The fname is placed in one line/screen.
So it would be better if the fname is less than 60 symbols.
|
descr |
Full description of test.
It can be as long as you need and contain any number of line breaks.
The description can be shown in the
console
and
GUI
runner by special command only.
|
Usually such a specification is a part of any test except some special.
Special set of substitution variables can be defined
for each test depending on its position in the tree of test.
To use value of substitution variable its name should be
used between symbols of percent (like using of DOS variables).
As example:
<fname>full name of test on target %target%</fname> |
To use symbol of percent it should be written twice.
Substitution variables usually are defined in
aggregate tests
.
System substitution variable
%test_dir%
is replaced by path to specification file *.itd.xml, that was used
for reading specification of the current test.
Each test returns flag of success after running. It's usually for tests.
But there is a special feature of
izh_test, that each test defines set of
test file result..
Each "test file result" is defined as three things:
- etalon file
- result file
- file - difference between etalon file and result file
Every test can define only one such a "test file result" or many ones or zero.
izh_test supports automatic comparison for result files and etalon files.
Test specification defines only which files should be checked.