source: trunk/docs/docs_dev/source/guides/rundemotest.rst @ 640

Last change on this file since 640 was 640, checked in by pinsard, 10 years ago

fix thanks to coding rules; typo; dupe empty lines

  • Property mime-type set to text/x-rst
  • Property svn:keywords set to URL
File size: 2.3 KB

Demo and test

PROJECT is written different languages : MATLAB or octave, IDL, ferret.

octave and Python give us the opportunity to embed unit demo and tests in source files (see :ref:`coding_rules`)

?

Test and demo must be run before :command:`commit`.

?

Note

We do not know yet how to handle source files dependencies so it is up to contributors to define test sequences.

Python

cd ${PROJECT}/src
nosetests --with-doctest -v *.py

or

cd ${PROJECT}/src
coverage -rm -o  *.py

octave

All demos can be launched with one octave command:

cd ${PROJECT}/src
octave
varamma_startup
cd ${PROJECT}/src
octave
demo('module_to_be_demonstrated')
test('module_to_be_tested')

MATLAB

MATLAB do not understand doctest features like octave.

To run demo and tests, we need first extract doctests from source files:

cd ${PROJECT}/adm
make clean
make before
make matlab_demo
make matlab_test

Then MATLAB codes for demo and tests are available in :file:`${PROJECT}/adm/demo` and :file:`${PROJECT}/adm/test`.

??

Warning

MATLAB do not understand :command:`fail` and :command:`assert` is not use like in octave ... so tests might not be significant.

??

To run them:

cd ${PROJECT}/src
matlab -nodesktop
add_path('../adm/demo')
module_to_be_demonstrated_demo
add_path('../adm/test')
module_to_be_tested_test

IDL

We do not yet have a doctest like solution for IDL. PyIDL will be studied. Until then, some IDL source files dedicated to test and demo must be written in :file:`${PROJECT}/src/demo` and :file:`${PROJECT}/src/test`.

??
Note: See TracBrowser for help on using the repository browser.