Skip to content
Snippets Groups Projects
Commit d835359f authored by Victor Poughon's avatar Victor Poughon
Browse files

DOC: move test faq to section

parent bb7c8276
No related branches found
No related tags found
2 merge requests!621Release 7.0 (master),!375Cookbook FAQ updates & Contributors section
......@@ -352,3 +352,25 @@ Known issues
------------
Please check `our gitlab tracker <https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/issues?label_name%5B%5D=bug>`_ for a list of open bugs.
Tests
-----
There are more than 2500 tests for OTB. It can take from 20 minutes to 3
hours to run them all, depending on compilation options
(release mode does make a difference) and hardware.
To run the tests, first make sure to set the option
``BUILD_TESTING`` to ``ON`` before building the library.
For some of the tests, you also need the test data and the baselines (~1GB):
::
git clone https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-data.git
Once OTB is built with the tests, you just have to go to the binary
directory where you built OTB and run ``ctest -N`` to have a list of all
the tests. Just using ``ctest`` will run all the tests. To select a
subset, you can do ``ctest -R Kml`` to run all tests related to kml
files or ``ctest -I 1,10`` to run tests from 1 to 10.
......@@ -354,124 +354,3 @@ to detect bugs earlier.
You can also find more information about how to contribute at
https://www.orfeo-toolbox.org/community
What are the benefits of contributing to OTB?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Besides the satisfaction of contributing to an open source project, we
will include the references to relevant papers in the software guide.
Having algorithms published in the form of reproducible research helps
science move faster and encourages people who needs your algorithms to
use them.
You will also benefit from the strengths of OTB: multi-platform,
streaming and threading, etc.
What functionality can I contribute?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All functionalities which are useful for remote sensing data are of
interest. As OTB is a library, it should be generic algorithms: change,
detection, fusion, object detection, segmentation, interpolation, etc.
More specific applications can be contributed using the framework
directly in the Applications directory of OTB.
Running the tests
-----------------
What are the tests?
~~~~~~~~~~~~~~~~~~~
OTB is an ever changing library, it is quite active and have scores of
changes per day from different people. It would be a headache to make
sure that the brand new improvement that you introduced didn’t break
anything, if we didn’t have automated tests. You also have to take into
account differences in OS, compilers, options, versions of external
libraries, etc. By running the tests and submitting it to the dashboard,
you will help us detect problems and fix them early.
For each class, at minimum there is a test which tries to instantiate it
and another one which uses the class. The output of each test (image,
text file, binary file) is controlled against a baseline to make sure
that the result hasn’t changed.
All OTB tests source code are available in the directory ``Testing`` and
are also good examples on how to use the different classes.
How to run the tests?
~~~~~~~~~~~~~~~~~~~~~
There is more than 2500 tests for OTB and it takes from 20 minutes to 3
hours to run all the test, mainly depending on your compilation options
(Release mode does make a difference) and of course your hardware.
To run the tests, you first have to make sure that you set the option
``BUILD_TESTING`` to ``ON`` before building the library. If you want to
modify it, just rerun ccmake, change the option, then make.
For some of the tests, you also need the test data and the baselines
(see [sec:FAQTestData]).
Once OTB is built with the tests, you just have to go to the binary
directory where you built OTB and run ``ctest -N`` to have a list of all
the tests. Just using ``ctest`` will run all the tests. To select a
subset, you can do ``ctest -R Kml`` to run all tests related to kml
files or ``ctest -I 1,10`` to run tests from 1 to 10.
How to get the test data?
~~~~~~~~~~~~~~~~~~~~~~~~~
Data used for the tests are also versioned using Git (see [sec:FAQGit]).
You can get the base doing:
::
git clone https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-data.git
This is about 1 GB of data, so it will take a while, but you have to do
it only once, as after, a simple
::
git pull
will update you to the latest version of the repository.
You can also easily synchronize the directory you retrieve between
different computers on your network, so you don’t have to get it several
times from the main server. Check out Git capabilities.
How to submit the results?
~~~~~~~~~~~~~~~~~~~~~~~~~~
Once you know how to run the tests, you can also help us to detect the
bugs or configuration problems specific to your configuration. As
mentioned before, the possible combinations between OS, compiler,
options, external libraries version is too big to be tested completely,
but the more the better.
You just have to launch ctest with the ``-D Experimental`` switch.
Hence:
::
ctest -D Experimental -A CMakeCache.txt
And you will be able to see the result at
http://dash.orfeo-toolbox.org/Dashboard/index.php?project=OTB.
If you are interested in setting up a nightly test (automatically
launched every night), please contact us and we will give you the
details.
What features will the OTB include and when?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There is no detailed plan about the availability of OTB new features,
since OTB’s content depends on ongoing research work and on feedback
from thematic users of the ORFEO Accompaniment Program. You can find ideas and
plans for the future on the Wishlist at https://wiki.orfeo-toolbox.org/index.php/Wishlist.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment