1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
.. _buildbot:
******************************************************************************
Test Suite
******************************************************************************
Liblas includes a test suite written in C++ that can be fairly easily run
to ensure that the library is working properly.
make test
..............................................................................
The test suite can be run in the liblas main directory with::
make test
If the liblas_test binary does not exist it may be necessary to do::
make liblas_test test
This should produce a brief report indicating the number of tests that failed,
if any. A detailed report will be generated in
liblas/Testing/Temporary/LastTest.log. Failure reports may look something
like::
---> group: liblas::SpatialReference, test: test<6>
problem: assertion failed
failed assertion: `VLR count: expected `3` actual `4``
Tests failures diagnosis may require inspecting the test code in the
liblas/test/unit directory. In the above case searching for "test<6>" in
the file liblas/test/unit/lasspatialreference_test.cpp would be appropriate.
The tests can also be run directly in the liblas/test/unit directory by
running the liblas/bin/liblas_test executable. In this case the report is
written to stderr. Be careful to write it in the right directory or some
tests will fail for reasons that are not clear.
Continuous Integration - TravisCI
..............................................................................
The libLAS project uses `Travis <https://travis-ci.org/libLAS/libLAS>`__ to perform
automated builds and continuous integration.
Building libLAS and running unit tests using CMake on Unix
..............................................................................
Users are encourage to run libLAS unit tests and submit test results to
dedicated `CDash`_ - utility dashboard hosted by the http://cdash.org website:
* `libLAS CDash`_
The CDash is another tool liblAS uses to perform `continuous integration`_
during development process.
.. note::
In order to enable `CTest`_ support, `CMake 2.8.0+`_
version is required.
* Configure libLAS core library with unit tests and CTest enabled
::
$ cmake ../main -DWITH_TESTS=ON -DENABLE_CTEST=ON
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Enable libLAS utilities to build - done
-- Enable libLAS unit tests to build - done
-- Enable CTest to support submissions of results to CDash at http://cdash.org
-- Enable CTest to support submissions of results to CDash at http://cdash.org - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mloskot/dev/liblas/_hg/build
* Inspect available targets
::
$ make help
The following are some of the valid targets for this Makefile:
... all (the default if no target is provided)
... clean
... depend
... Continuous
... ContinuousBuild
... ContinuousConfigure
... ContinuousCoverage
... ContinuousMemCheck
... ContinuousStart
... ContinuousSubmit
... ContinuousTest
... ContinuousUpdate
... Experimental
... ExperimentalBuild
... ExperimentalConfigure
... ExperimentalCoverage
... ExperimentalMemCheck
... ExperimentalStart
... ExperimentalSubmit
... ExperimentalTest
... ExperimentalUpdate
... Nightly
... NightlyBuild
... NightlyConfigure
... NightlyCoverage
... NightlyMemCheck
... NightlyMemoryCheck
... NightlyStart
... NightlySubmit
... NightlyTest
... NightlyUpdate
... edit_cache
... install
... install/local
... install/strip
... list_install_components
... rebuild_cache
... test
... las
... las_c
... las2las
... las2txt
... lasinfo
... lasmerge
... txt2las
... liblas_test
* Run `Continuous` target
::
mloskot@dog:~/dev/liblas/_hg/build$ make Continuous
Site: dog
Build name: Linux-c++
Create new tag: 20091025-0003 - Continuous
Updating the repository
Updating the repository: /home/mloskot/dev/liblas/_hg/main
Use HG repository type
Old revision of repository is: aa303d670d1a
New revision of repository is: 690df0a6df0b
Gathering version information (one . per revision):
.
Found 1 updated files
Configure project
Each . represents 1024 bytes of output
. Size of output: 0K
Build project
Each symbol represents 1024 bytes of output.
'!' represents an error and '*' a warning.
......****.* Size of output: 11K
0 Compiler errors
7 Compiler warnings
Test project /home/mloskot/dev/liblas/_hg/build
Start 1: liblas_test
1/1 Test #1: liblas_test ...................... Passed 0.02 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.03 sec
Performing coverage
Cannot find any coverage files. Ignoring Coverage request.
Submit files (using http)
Using HTTP submit method
Drop site:http://my.cdash.org/submit.php?project=libLAS
Uploaded: /home/mloskot/dev/liblas/_hg/build/Testing/20091025-0003/Build.xml
Uploaded: /home/mloskot/dev/liblas/_hg/build/Testing/20091025-0003/Configure.xml
Uploaded: /home/mloskot/dev/liblas/_hg/build/Testing/20091025-0003/Test.xml
Uploaded: /home/mloskot/dev/liblas/_hg/build/Testing/20091025-0003/Update.xml
Submission successful
Built target Continuous
Ammending and Extending the Test Suite
..............................................................................
The tests for the test suite are implemented as a set of C++ files in the
liblas/test/unit directory. New tests for existing classes can be added
based on the existing examples. New files can be introduced for additional
classes or categories of testing, but the source filename(s) will also need
to be added in liblas/test/unit/CMakeLists.txt.
.. _`CMake`: http://www.cmake.org/
.. _`CTest`: http://cmake.org/cmake/help/ctest-2-8-docs.html
.. _`CMake 2.8.0+`: http://www.cmake.org/cmake/help/cmake-2-8-docs.html
.. _`CDash`: http://www.cdash.org/
.. _`continuous integration`: http://en.wikipedia.org/wiki/Continuous_integration
.. _`libLAS CDash`: http://my.cdash.org/index.php?project=libLAS
.. _`IRC`: http://irc.freenode.net/
.. _`OSGeo Buildbot`: http://buildbot.osgeo.org/
.. _`libLAS buildbot waterfall`: http://buildbot.osgeo.org:8507/waterfall
.. _`OSGeo Foundation`: http://osgeo.org/
|