Adding doc and tests (#1492)
* added doc and tests for util2d.h
* updated cmake-ros ci
* Added util3d.h doc and tests
* util3d_transforms.h: Added doc and tests
* util3d_filtering.h: started doc and test
* util3d_filtering.h: more tests and doc
* Added more doc/tests
* finished util3d_filtering doc and tests
* added test for util2d::depthBleedingFiltering
* Added util3d_registration tests
* Added util3d_features.h doc/tests
* added doc/tests for util3d_correspondences.h
* added doc/gtest for util3d_mapping.h (missing hpp functions)
* finished testing util3d_mapping.hpp
* Added util3d_motion_estimation.h tests (2D->3D done)
* finished util3d_motion_estimation.h tests
* minimal util3d_surface.h
* Added Transform and VisualWord tests
* Added doc for CameraModel and StereoCameraModel
* Added more logs in ros ci
* Passing tests on fical
* improved all devcontainer
* added devcontainer kilted, fixed source setup.bash, removed ldconfig in ros-cmake workflow
* cleanup
* source ros
* Added utilite tests
* Added testing to appveyor, github actions cancellable on re-commit on same branch
* appveyor testing without all targets
* appveyor: specifying ALL_BUILD target
* Fixed Util2dTest.NMSImageBoundsRespected test
* Fixing PCL Indices error on old pcl
* Added VWDictionary tests and doc. Fixed LSH not working (fix from https://github.com/flann-lib/flann/pull/472
* fixing some appveyor CI errors, added test to check dictionary serialization against all type
* Added StereoDense, StereoBM and StereoSGBM doc and tests
* Added Stereo tests
* Added CameraModel and StereoCameraModel tests
* Added doc and test for Statistics
* Added doc/tests for Signature
* Added doc/test for SensorEvent, added doc for SensorCaptureInfo
* Added doc to SensorData
* Added SensorData tests
* Added SensorCapture and SensorCaptureThread doc and tests
* fixed sensordata test
* updated SSC test and doc
* Added doc and tests for BayesFilter class
* Enabled testing on mac, updated windows testing like on linux
* added test_link
* fixed unresolved on windows
* fixed ThreadHandle error on macos ci
* Added GPS and GeodeticCoords tests
* Added tests for compression
* Added Odometry tests (base class only)
* Added DBDriver tests
* Added coverage report
* uniformized test names
* fixing concurancy and coverage ci
* dont built tools, examples and app for coverage build
* fixed report tool rebuilt without qt compilation error
* updated coverage option
* updated coverage config
* added doc CI job
* fixing windows and mac ci errors
* Added DBDriverSqlite3 tests
* Added IMU tests
* Added Graph tests
* fixing flaky macos test
* Added IMUThread and IMUFilter tests
* Added Landmarks tests
* Added LASWriter tests
* fixing seed flaky test
* fixing flaky macos timing tests
* Added LocalGrid tests
* Added LocalGridMaker tests
* fixing ci errors
* Added GlobalMap tests
* Added doc for EnvSensor
* Added Features2D tests
* Added Registration tests
* Added RegistrationVis tests
* Added doc for Rtabmap and Memory classes
* Added Memory and Rtabmap tests
* making some tests less flaky
* lcov 1.14 support
* updated compatible tool arguments
* Added integration tests (RGB-D, Stereo, Lidar2d, Lidar3d)
* More octomap checks
* Refactored how/when python interpretor is created to simplify library usage
* Added python tests
* fixed some flaky tests
* suppressed some third party related warnings
* fixed ceres tests
* more flaky fixes
* Fixing tests without libpointmatcher
* Added RANSAC rejection filter to PCL ICP
* fixing multi platform flakiness
* Added test to detect regression
* Fixing windows pcl link error
* fixed some macos flakiness
* bigger 2D2D registration error on opencv 4.6.0
* flakiness
* fixing flaky tests on windows and mac
* flaky thread test on slow mac VM
* windows slow test
* fixing more ci erros
* fxing temp dir on windows
* Added Optimizer tests and discovered some bugs (fixed)
* fixing flaky tests in mac and windows
* Added Optimizer doc
* Added GTSAM BA, updated Ceres to use g2o ba parameters. Renamed g2o's ba related parameters to Optimizer group and used by both gtsam and ceres.
* fixing build without gtsam
* fixing home dir
* fixing python ci isssues
* Added multicam ba tests
* Added Ceres multicam BA support
* Aligned BundleAdjustment parameters with Optimizer/Strategy to avoid confusion in the code
* Added BA integration test
* Added robust graph optimization integration test
* Added loop3it test
* Added stereo20Hz test
* Added smartfactor gtsam
* Fixed bugged check and warn if python didn't return any descriptors
* Fixing gtsam version build issues
* fixing tilt on windows ci
* loosing ceres integration test for ci
* mac ci flakiness
* updating missing param in gui
* updating test bound for mac
* added appearance-based tests, set min gftt quality to quality level
* testing more stuff
* improving features2d tests
* ci flakiness
* fixing flaky ci
* ci fixes
* flaky fixes
* Added RegistrationIcp tests
* Added icp integration test with real-worl corridor like env
* intermediate nodes
* fixing enum
* Updated test to catch #1714
* Fixed 2d corridor failing on pcl
* flaky pnp test
* flaky brisk test
* Set rtabmap_integration test as long
* updating loop closure test
* flaky ci tests
* TEsting roundtrip g2o/toro save/load
* loosing test bound
* fixed cuda capable checks
* flaky tests
* Debugging test hanging
* more debugging stuff
* updating limit
* windows: disabled cuda on ci to avoid incompatible driver issue. Fixing a bad test mem allocation
* trying fixing cuda hanging issue
* fixing ci flakyness
* flaky tests
* Updated BOW flaky tests by checking min precision/recall instead of recall@100precision. Fixed signature test
* CameraModel::load() test initRectificationMap param
* test dbdriver load dictionary idsOnly
* Memory: test keepLinkedInDb param
* added dummyDictionary tests
* test intermediate nodes count
* Added MarkerDetector tests
* reverted breaking change of UMutex and USemaphore
* Features2d: fixed compiltion warnings with clang about override
* clang warnings
* fixing test build with pcl 1.8
* g2o and gtsam build errors on android
* opencv5 test fixes
* disabled testing for ios and android builds
* normalized endline characters for easier diff
* added LF CRLF rule
* bump 0.23.10. fixing doc version
* Publish rtabmap website doc from ci
* fixing MSCVC build error
* macos icp flaky test
* fixing ceres macos test bound
* ficing more flaky tests
* fixing opencv5 related test errors. Also fixed an actual bug in ENU_WGS84ToGeocentric_WGS84()
* added comment about mrpt change
* removed rosdoc2 (will add it for rtabmap_ros later)
* fixing website style
* updated download links
* locally deployable website with api
* sweep doxygen issues
* improved/revised doxygen main pages
* removed examples empty page
* Updated doxygen style
* more concise doxygen groups
* added api link on main readme
* fixing utilite test error
* fixing CommonFilteringGroundNormalsUp test
* updated precisionRecall test bounds for Freak and brief descriptors
* fixing scale check in ba tests
* disabled tests on windows cuda build (missing dlls amd runner cannot test cuda anyway)
* ceres: missing suitesparse dep in windows ci
* adjusting recall thr for fast/freak
* ficing more flaky tests
* fixing flaky tests
* disabled coverage in ros ci
* Enable integration tests for ros ci jobs
* loosing up some threshold for failing tests
* trigger cache
* fixing test data in ros ci. Updated flaky test for mac
* slaking some test limit
* Fixed rtabmap-detectMoreLoopClosures inverted output value
* loosing up sift recall on mac
* optimizer re-ordered distribution for reproducible results (mac g2o)
* macos dump test crash log
* combining all tests to save time on shared library reload. Also fixed Logs with missing arguments.
* Added ENABLE_FORMAT_ERRORS cmake option
* do test only one time
* fixed all format warnings
* format security android build errors
* less verbose tests
* updated ImuUThread test
* fixed a log
* Fixed libpointmatcher 2d normals eigen issue
* Fixing libpointmatcher conversion issues
* fixing libpointmatcher test on windows ci
* cleanup comments, relax some test thr
* disabled sequoia-intel ci build (too flaky, would need extensive testing directly on that machine)
2026-08-06 13:32:20 -07:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
# Generate an HTML coverage report at coverage-html/index.html
|
|
|
|
|
# Run from anywhere; defaults: build dir = build-coverage, output = coverage-html/
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
BUILD_DIR="${COVERAGE_BUILD_DIR:-$ROOT/build-coverage}"
|
|
|
|
|
HTML_DIR="${COVERAGE_HTML_DIR:-$ROOT/coverage-html}"
|
|
|
|
|
INFO_FILE="${COVERAGE_INFO_FILE:-$ROOT/lcov.info}"
|
|
|
|
|
JOBS="${JOBS:-$(nproc)}"
|
|
|
|
|
|
|
|
|
|
need_cmd() {
|
|
|
|
|
command -v "$1" >/dev/null 2>&1 || {
|
|
|
|
|
echo "Error: required command not found: $1" >&2
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
need_cmd cmake
|
|
|
|
|
need_cmd lcov
|
|
|
|
|
need_cmd genhtml
|
|
|
|
|
need_cmd gcc
|
|
|
|
|
|
|
|
|
|
# lcov defaults to gcov-11 on Ubuntu; use gcov matching the active compiler.
|
|
|
|
|
detect_gcov_tool() {
|
|
|
|
|
local ver
|
|
|
|
|
ver="$(gcc -dumpversion 2>/dev/null | cut -d. -f1)"
|
|
|
|
|
if [[ -n "$ver" ]] && command -v "gcov-${ver}" >/dev/null 2>&1; then
|
|
|
|
|
echo "gcov-${ver}"
|
|
|
|
|
else
|
|
|
|
|
echo "gcov"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
GCOV_TOOL="$(detect_gcov_tool)"
|
|
|
|
|
|
|
|
|
|
# lcov 1.14 (Ubuntu 22.04) supports different --ignore-errors vocabularies
|
|
|
|
|
# per tool: geninfo (gcov,source,graph), genhtml (source only), lcov also
|
|
|
|
|
# gcov,source,graph. lcov 1.15+ adds mismatch,unused,format,deprecated.
|
|
|
|
|
# Probe each tool's own help and pick the intersection with what we want.
|
|
|
|
|
detect_ignore_categories_for() {
|
|
|
|
|
local tool="$1"
|
|
|
|
|
local wanted=(gcov source graph mismatch unused)
|
|
|
|
|
local help_line
|
|
|
|
|
# Each tool prints "(gcov, source, graph)" style inside its --help.
|
|
|
|
|
help_line="$("$tool" --help 2>&1 | grep -m1 -- '--ignore-errors')"
|
|
|
|
|
local available=()
|
|
|
|
|
if [[ "$help_line" =~ \(([^\)]+)\) ]]; then
|
|
|
|
|
IFS=', ' read -r -a available <<<"${BASH_REMATCH[1]}"
|
|
|
|
|
fi
|
|
|
|
|
local supported=()
|
|
|
|
|
for w in "${wanted[@]}"; do
|
|
|
|
|
for a in "${available[@]}"; do
|
|
|
|
|
if [[ "$w" == "$a" ]]; then
|
|
|
|
|
supported+=("$w")
|
|
|
|
|
break
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
# Fallback if parsing failed: source is the only one universally accepted.
|
|
|
|
|
if [[ ${#supported[@]} -eq 0 ]]; then
|
|
|
|
|
supported=(source)
|
|
|
|
|
fi
|
|
|
|
|
(IFS=,; echo "${supported[*]}")
|
|
|
|
|
}
|
|
|
|
|
LCOV_IGNORE=(--ignore-errors "$(detect_ignore_categories_for lcov)")
|
|
|
|
|
GENHTML_IGNORE=(--ignore-errors "$(detect_ignore_categories_for genhtml)")
|
|
|
|
|
|
|
|
|
|
configure_coverage_build() {
|
|
|
|
|
local -a gtest_args=()
|
|
|
|
|
if [[ -d "$ROOT/build/_deps/googletest-src" ]]; then
|
|
|
|
|
gtest_args+=(
|
|
|
|
|
"-DFETCHCONTENT_SOURCE_DIR_GOOGLETEST=$ROOT/build/_deps/googletest-src"
|
|
|
|
|
-DFETCHCONTENT_UPDATES_DISCONNECTED=ON
|
|
|
|
|
)
|
|
|
|
|
fi
|
|
|
|
|
cmake -B "$BUILD_DIR" \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
|
-DENABLE_COVERAGE=ON \
|
|
|
|
|
-DBUILD_TESTING=ON \
|
|
|
|
|
-DBUILD_APP=OFF \
|
|
|
|
|
-DBUILD_TOOLS=OFF \
|
|
|
|
|
-DBUILD_EXAMPLES=OFF \
|
|
|
|
|
-DWITH_QT=OFF \
|
|
|
|
|
-DWITH_PYTHON=OFF \
|
|
|
|
|
-DWITH_CERES=OFF \
|
|
|
|
|
-DWITH_G2O=OFF \
|
|
|
|
|
-DWITH_GTSAM=OFF \
|
|
|
|
|
-DWITH_MRPT=OFF \
|
|
|
|
|
-DWITH_VERTIGO=OFF \
|
|
|
|
|
-DWITH_CVSBA=OFF \
|
|
|
|
|
-DWITH_POINTMATCHER=OFF \
|
|
|
|
|
-DWITH_CCCORELIB=OFF \
|
|
|
|
|
-DWITH_OPEN3D=OFF \
|
|
|
|
|
-DWITH_LOAM=OFF \
|
|
|
|
|
-DWITH_FLOAM=OFF \
|
|
|
|
|
-DWITH_LIOSAM=OFF \
|
|
|
|
|
-DWITH_FLYCAPTURE2=OFF \
|
|
|
|
|
-DWITH_ZED=OFF \
|
|
|
|
|
-DWITH_ZEDOC=OFF \
|
|
|
|
|
-DWITH_REALSENSE=OFF \
|
|
|
|
|
"${gtest_args[@]}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "$BUILD_DIR/CMakeCache.txt" ]]; then
|
|
|
|
|
echo "Configuring $BUILD_DIR (Debug + ENABLE_COVERAGE)..."
|
|
|
|
|
configure_coverage_build
|
|
|
|
|
elif ! grep -q '^ENABLE_COVERAGE:BOOL=ON' "$BUILD_DIR/CMakeCache.txt" 2>/dev/null; then
|
|
|
|
|
echo "Reconfiguring $BUILD_DIR with ENABLE_COVERAGE=ON..."
|
|
|
|
|
configure_coverage_build
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "Building $BUILD_DIR (gcov tool: $GCOV_TOOL)..."
|
|
|
|
|
cmake --build "$BUILD_DIR" -j"$JOBS"
|
|
|
|
|
|
|
|
|
|
echo "Clearing old coverage runtime data..."
|
|
|
|
|
find "$BUILD_DIR" -name '*.gcda' -delete
|
|
|
|
|
|
|
|
|
|
echo "Running tests..."
|
|
|
|
|
# Prepend coverage libs: otherwise LD_LIBRARY_PATH (e.g. ROS) can load
|
|
|
|
|
# librtabmap from another build tree and .gcda is never written for corelib/src.
|
|
|
|
|
(
|
|
|
|
|
export LD_LIBRARY_PATH="$BUILD_DIR/bin${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
|
|
|
|
cd "$BUILD_DIR" && ctest --output-on-failure
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
echo "Capturing coverage..."
|
|
|
|
|
lcov --gcov-tool "$GCOV_TOOL" "${LCOV_IGNORE[@]}" \
|
|
|
|
|
--capture \
|
|
|
|
|
--directory "$BUILD_DIR/corelib/src" \
|
|
|
|
|
--directory "$BUILD_DIR/utilite/src" \
|
|
|
|
|
--output-file "$INFO_FILE"
|
|
|
|
|
|
|
|
|
|
echo "Filtering coverage data (repo sources only)..."
|
|
|
|
|
lcov "${LCOV_IGNORE[@]}" --extract "$INFO_FILE" \
|
|
|
|
|
"${ROOT}/*" \
|
|
|
|
|
--output-file "$INFO_FILE"
|
2026-08-07 20:48:41 -07:00
|
|
|
# The test sources are the instrument, not the subject: a line in a test counts
|
|
|
|
|
# as uncovered only when the test skipped it (a defensive cleanup branch, a
|
|
|
|
|
# platform guard), which says nothing about the library. They are also
|
|
|
|
|
# near-fully covered by construction, so leaving them in inflates the overall
|
|
|
|
|
# number. Kept in sync with the same list in .github/workflows/coverage.yml.
|
Adding doc and tests (#1492)
* added doc and tests for util2d.h
* updated cmake-ros ci
* Added util3d.h doc and tests
* util3d_transforms.h: Added doc and tests
* util3d_filtering.h: started doc and test
* util3d_filtering.h: more tests and doc
* Added more doc/tests
* finished util3d_filtering doc and tests
* added test for util2d::depthBleedingFiltering
* Added util3d_registration tests
* Added util3d_features.h doc/tests
* added doc/tests for util3d_correspondences.h
* added doc/gtest for util3d_mapping.h (missing hpp functions)
* finished testing util3d_mapping.hpp
* Added util3d_motion_estimation.h tests (2D->3D done)
* finished util3d_motion_estimation.h tests
* minimal util3d_surface.h
* Added Transform and VisualWord tests
* Added doc for CameraModel and StereoCameraModel
* Added more logs in ros ci
* Passing tests on fical
* improved all devcontainer
* added devcontainer kilted, fixed source setup.bash, removed ldconfig in ros-cmake workflow
* cleanup
* source ros
* Added utilite tests
* Added testing to appveyor, github actions cancellable on re-commit on same branch
* appveyor testing without all targets
* appveyor: specifying ALL_BUILD target
* Fixed Util2dTest.NMSImageBoundsRespected test
* Fixing PCL Indices error on old pcl
* Added VWDictionary tests and doc. Fixed LSH not working (fix from https://github.com/flann-lib/flann/pull/472
* fixing some appveyor CI errors, added test to check dictionary serialization against all type
* Added StereoDense, StereoBM and StereoSGBM doc and tests
* Added Stereo tests
* Added CameraModel and StereoCameraModel tests
* Added doc and test for Statistics
* Added doc/tests for Signature
* Added doc/test for SensorEvent, added doc for SensorCaptureInfo
* Added doc to SensorData
* Added SensorData tests
* Added SensorCapture and SensorCaptureThread doc and tests
* fixed sensordata test
* updated SSC test and doc
* Added doc and tests for BayesFilter class
* Enabled testing on mac, updated windows testing like on linux
* added test_link
* fixed unresolved on windows
* fixed ThreadHandle error on macos ci
* Added GPS and GeodeticCoords tests
* Added tests for compression
* Added Odometry tests (base class only)
* Added DBDriver tests
* Added coverage report
* uniformized test names
* fixing concurancy and coverage ci
* dont built tools, examples and app for coverage build
* fixed report tool rebuilt without qt compilation error
* updated coverage option
* updated coverage config
* added doc CI job
* fixing windows and mac ci errors
* Added DBDriverSqlite3 tests
* Added IMU tests
* Added Graph tests
* fixing flaky macos test
* Added IMUThread and IMUFilter tests
* Added Landmarks tests
* Added LASWriter tests
* fixing seed flaky test
* fixing flaky macos timing tests
* Added LocalGrid tests
* Added LocalGridMaker tests
* fixing ci errors
* Added GlobalMap tests
* Added doc for EnvSensor
* Added Features2D tests
* Added Registration tests
* Added RegistrationVis tests
* Added doc for Rtabmap and Memory classes
* Added Memory and Rtabmap tests
* making some tests less flaky
* lcov 1.14 support
* updated compatible tool arguments
* Added integration tests (RGB-D, Stereo, Lidar2d, Lidar3d)
* More octomap checks
* Refactored how/when python interpretor is created to simplify library usage
* Added python tests
* fixed some flaky tests
* suppressed some third party related warnings
* fixed ceres tests
* more flaky fixes
* Fixing tests without libpointmatcher
* Added RANSAC rejection filter to PCL ICP
* fixing multi platform flakiness
* Added test to detect regression
* Fixing windows pcl link error
* fixed some macos flakiness
* bigger 2D2D registration error on opencv 4.6.0
* flakiness
* fixing flaky tests on windows and mac
* flaky thread test on slow mac VM
* windows slow test
* fixing more ci erros
* fxing temp dir on windows
* Added Optimizer tests and discovered some bugs (fixed)
* fixing flaky tests in mac and windows
* Added Optimizer doc
* Added GTSAM BA, updated Ceres to use g2o ba parameters. Renamed g2o's ba related parameters to Optimizer group and used by both gtsam and ceres.
* fixing build without gtsam
* fixing home dir
* fixing python ci isssues
* Added multicam ba tests
* Added Ceres multicam BA support
* Aligned BundleAdjustment parameters with Optimizer/Strategy to avoid confusion in the code
* Added BA integration test
* Added robust graph optimization integration test
* Added loop3it test
* Added stereo20Hz test
* Added smartfactor gtsam
* Fixed bugged check and warn if python didn't return any descriptors
* Fixing gtsam version build issues
* fixing tilt on windows ci
* loosing ceres integration test for ci
* mac ci flakiness
* updating missing param in gui
* updating test bound for mac
* added appearance-based tests, set min gftt quality to quality level
* testing more stuff
* improving features2d tests
* ci flakiness
* fixing flaky ci
* ci fixes
* flaky fixes
* Added RegistrationIcp tests
* Added icp integration test with real-worl corridor like env
* intermediate nodes
* fixing enum
* Updated test to catch #1714
* Fixed 2d corridor failing on pcl
* flaky pnp test
* flaky brisk test
* Set rtabmap_integration test as long
* updating loop closure test
* flaky ci tests
* TEsting roundtrip g2o/toro save/load
* loosing test bound
* fixed cuda capable checks
* flaky tests
* Debugging test hanging
* more debugging stuff
* updating limit
* windows: disabled cuda on ci to avoid incompatible driver issue. Fixing a bad test mem allocation
* trying fixing cuda hanging issue
* fixing ci flakyness
* flaky tests
* Updated BOW flaky tests by checking min precision/recall instead of recall@100precision. Fixed signature test
* CameraModel::load() test initRectificationMap param
* test dbdriver load dictionary idsOnly
* Memory: test keepLinkedInDb param
* added dummyDictionary tests
* test intermediate nodes count
* Added MarkerDetector tests
* reverted breaking change of UMutex and USemaphore
* Features2d: fixed compiltion warnings with clang about override
* clang warnings
* fixing test build with pcl 1.8
* g2o and gtsam build errors on android
* opencv5 test fixes
* disabled testing for ios and android builds
* normalized endline characters for easier diff
* added LF CRLF rule
* bump 0.23.10. fixing doc version
* Publish rtabmap website doc from ci
* fixing MSCVC build error
* macos icp flaky test
* fixing ceres macos test bound
* ficing more flaky tests
* fixing opencv5 related test errors. Also fixed an actual bug in ENU_WGS84ToGeocentric_WGS84()
* added comment about mrpt change
* removed rosdoc2 (will add it for rtabmap_ros later)
* fixing website style
* updated download links
* locally deployable website with api
* sweep doxygen issues
* improved/revised doxygen main pages
* removed examples empty page
* Updated doxygen style
* more concise doxygen groups
* added api link on main readme
* fixing utilite test error
* fixing CommonFilteringGroundNormalsUp test
* updated precisionRecall test bounds for Freak and brief descriptors
* fixing scale check in ba tests
* disabled tests on windows cuda build (missing dlls amd runner cannot test cuda anyway)
* ceres: missing suitesparse dep in windows ci
* adjusting recall thr for fast/freak
* ficing more flaky tests
* fixing flaky tests
* disabled coverage in ros ci
* Enable integration tests for ros ci jobs
* loosing up some threshold for failing tests
* trigger cache
* fixing test data in ros ci. Updated flaky test for mac
* slaking some test limit
* Fixed rtabmap-detectMoreLoopClosures inverted output value
* loosing up sift recall on mac
* optimizer re-ordered distribution for reproducible results (mac g2o)
* macos dump test crash log
* combining all tests to save time on shared library reload. Also fixed Logs with missing arguments.
* Added ENABLE_FORMAT_ERRORS cmake option
* do test only one time
* fixed all format warnings
* format security android build errors
* less verbose tests
* updated ImuUThread test
* fixed a log
* Fixed libpointmatcher 2d normals eigen issue
* Fixing libpointmatcher conversion issues
* fixing libpointmatcher test on windows ci
* cleanup comments, relax some test thr
* disabled sequoia-intel ci build (too flaky, would need extensive testing directly on that machine)
2026-08-06 13:32:20 -07:00
|
|
|
lcov "${LCOV_IGNORE[@]}" --remove "$INFO_FILE" \
|
|
|
|
|
'*/sqlite3/*' \
|
|
|
|
|
'*/rtflann/*' \
|
2026-08-07 20:48:41 -07:00
|
|
|
'*/corelib/test/*' \
|
|
|
|
|
'*/utilite/test/*' \
|
Adding doc and tests (#1492)
* added doc and tests for util2d.h
* updated cmake-ros ci
* Added util3d.h doc and tests
* util3d_transforms.h: Added doc and tests
* util3d_filtering.h: started doc and test
* util3d_filtering.h: more tests and doc
* Added more doc/tests
* finished util3d_filtering doc and tests
* added test for util2d::depthBleedingFiltering
* Added util3d_registration tests
* Added util3d_features.h doc/tests
* added doc/tests for util3d_correspondences.h
* added doc/gtest for util3d_mapping.h (missing hpp functions)
* finished testing util3d_mapping.hpp
* Added util3d_motion_estimation.h tests (2D->3D done)
* finished util3d_motion_estimation.h tests
* minimal util3d_surface.h
* Added Transform and VisualWord tests
* Added doc for CameraModel and StereoCameraModel
* Added more logs in ros ci
* Passing tests on fical
* improved all devcontainer
* added devcontainer kilted, fixed source setup.bash, removed ldconfig in ros-cmake workflow
* cleanup
* source ros
* Added utilite tests
* Added testing to appveyor, github actions cancellable on re-commit on same branch
* appveyor testing without all targets
* appveyor: specifying ALL_BUILD target
* Fixed Util2dTest.NMSImageBoundsRespected test
* Fixing PCL Indices error on old pcl
* Added VWDictionary tests and doc. Fixed LSH not working (fix from https://github.com/flann-lib/flann/pull/472
* fixing some appveyor CI errors, added test to check dictionary serialization against all type
* Added StereoDense, StereoBM and StereoSGBM doc and tests
* Added Stereo tests
* Added CameraModel and StereoCameraModel tests
* Added doc and test for Statistics
* Added doc/tests for Signature
* Added doc/test for SensorEvent, added doc for SensorCaptureInfo
* Added doc to SensorData
* Added SensorData tests
* Added SensorCapture and SensorCaptureThread doc and tests
* fixed sensordata test
* updated SSC test and doc
* Added doc and tests for BayesFilter class
* Enabled testing on mac, updated windows testing like on linux
* added test_link
* fixed unresolved on windows
* fixed ThreadHandle error on macos ci
* Added GPS and GeodeticCoords tests
* Added tests for compression
* Added Odometry tests (base class only)
* Added DBDriver tests
* Added coverage report
* uniformized test names
* fixing concurancy and coverage ci
* dont built tools, examples and app for coverage build
* fixed report tool rebuilt without qt compilation error
* updated coverage option
* updated coverage config
* added doc CI job
* fixing windows and mac ci errors
* Added DBDriverSqlite3 tests
* Added IMU tests
* Added Graph tests
* fixing flaky macos test
* Added IMUThread and IMUFilter tests
* Added Landmarks tests
* Added LASWriter tests
* fixing seed flaky test
* fixing flaky macos timing tests
* Added LocalGrid tests
* Added LocalGridMaker tests
* fixing ci errors
* Added GlobalMap tests
* Added doc for EnvSensor
* Added Features2D tests
* Added Registration tests
* Added RegistrationVis tests
* Added doc for Rtabmap and Memory classes
* Added Memory and Rtabmap tests
* making some tests less flaky
* lcov 1.14 support
* updated compatible tool arguments
* Added integration tests (RGB-D, Stereo, Lidar2d, Lidar3d)
* More octomap checks
* Refactored how/when python interpretor is created to simplify library usage
* Added python tests
* fixed some flaky tests
* suppressed some third party related warnings
* fixed ceres tests
* more flaky fixes
* Fixing tests without libpointmatcher
* Added RANSAC rejection filter to PCL ICP
* fixing multi platform flakiness
* Added test to detect regression
* Fixing windows pcl link error
* fixed some macos flakiness
* bigger 2D2D registration error on opencv 4.6.0
* flakiness
* fixing flaky tests on windows and mac
* flaky thread test on slow mac VM
* windows slow test
* fixing more ci erros
* fxing temp dir on windows
* Added Optimizer tests and discovered some bugs (fixed)
* fixing flaky tests in mac and windows
* Added Optimizer doc
* Added GTSAM BA, updated Ceres to use g2o ba parameters. Renamed g2o's ba related parameters to Optimizer group and used by both gtsam and ceres.
* fixing build without gtsam
* fixing home dir
* fixing python ci isssues
* Added multicam ba tests
* Added Ceres multicam BA support
* Aligned BundleAdjustment parameters with Optimizer/Strategy to avoid confusion in the code
* Added BA integration test
* Added robust graph optimization integration test
* Added loop3it test
* Added stereo20Hz test
* Added smartfactor gtsam
* Fixed bugged check and warn if python didn't return any descriptors
* Fixing gtsam version build issues
* fixing tilt on windows ci
* loosing ceres integration test for ci
* mac ci flakiness
* updating missing param in gui
* updating test bound for mac
* added appearance-based tests, set min gftt quality to quality level
* testing more stuff
* improving features2d tests
* ci flakiness
* fixing flaky ci
* ci fixes
* flaky fixes
* Added RegistrationIcp tests
* Added icp integration test with real-worl corridor like env
* intermediate nodes
* fixing enum
* Updated test to catch #1714
* Fixed 2d corridor failing on pcl
* flaky pnp test
* flaky brisk test
* Set rtabmap_integration test as long
* updating loop closure test
* flaky ci tests
* TEsting roundtrip g2o/toro save/load
* loosing test bound
* fixed cuda capable checks
* flaky tests
* Debugging test hanging
* more debugging stuff
* updating limit
* windows: disabled cuda on ci to avoid incompatible driver issue. Fixing a bad test mem allocation
* trying fixing cuda hanging issue
* fixing ci flakyness
* flaky tests
* Updated BOW flaky tests by checking min precision/recall instead of recall@100precision. Fixed signature test
* CameraModel::load() test initRectificationMap param
* test dbdriver load dictionary idsOnly
* Memory: test keepLinkedInDb param
* added dummyDictionary tests
* test intermediate nodes count
* Added MarkerDetector tests
* reverted breaking change of UMutex and USemaphore
* Features2d: fixed compiltion warnings with clang about override
* clang warnings
* fixing test build with pcl 1.8
* g2o and gtsam build errors on android
* opencv5 test fixes
* disabled testing for ios and android builds
* normalized endline characters for easier diff
* added LF CRLF rule
* bump 0.23.10. fixing doc version
* Publish rtabmap website doc from ci
* fixing MSCVC build error
* macos icp flaky test
* fixing ceres macos test bound
* ficing more flaky tests
* fixing opencv5 related test errors. Also fixed an actual bug in ENU_WGS84ToGeocentric_WGS84()
* added comment about mrpt change
* removed rosdoc2 (will add it for rtabmap_ros later)
* fixing website style
* updated download links
* locally deployable website with api
* sweep doxygen issues
* improved/revised doxygen main pages
* removed examples empty page
* Updated doxygen style
* more concise doxygen groups
* added api link on main readme
* fixing utilite test error
* fixing CommonFilteringGroundNormalsUp test
* updated precisionRecall test bounds for Freak and brief descriptors
* fixing scale check in ba tests
* disabled tests on windows cuda build (missing dlls amd runner cannot test cuda anyway)
* ceres: missing suitesparse dep in windows ci
* adjusting recall thr for fast/freak
* ficing more flaky tests
* fixing flaky tests
* disabled coverage in ros ci
* Enable integration tests for ros ci jobs
* loosing up some threshold for failing tests
* trigger cache
* fixing test data in ros ci. Updated flaky test for mac
* slaking some test limit
* Fixed rtabmap-detectMoreLoopClosures inverted output value
* loosing up sift recall on mac
* optimizer re-ordered distribution for reproducible results (mac g2o)
* macos dump test crash log
* combining all tests to save time on shared library reload. Also fixed Logs with missing arguments.
* Added ENABLE_FORMAT_ERRORS cmake option
* do test only one time
* fixed all format warnings
* format security android build errors
* less verbose tests
* updated ImuUThread test
* fixed a log
* Fixed libpointmatcher 2d normals eigen issue
* Fixing libpointmatcher conversion issues
* fixing libpointmatcher test on windows ci
* cleanup comments, relax some test thr
* disabled sequoia-intel ci build (too flaky, would need extensive testing directly on that machine)
2026-08-06 13:32:20 -07:00
|
|
|
--output-file "$INFO_FILE"
|
|
|
|
|
|
|
|
|
|
echo "Generating HTML..."
|
|
|
|
|
rm -rf "$HTML_DIR"
|
|
|
|
|
genhtml "${GENHTML_IGNORE[@]}" "$INFO_FILE" --output-directory "$HTML_DIR" --legend --demangle-cpp
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Done: $HTML_DIR/index.html"
|
|
|
|
|
lcov --summary "$INFO_FILE" 2>/dev/null || true
|