fixing flaky tests on windows and mac

This commit is contained in:
matlabbe
2026-05-29 08:41:30 -07:00
parent ac930c2ac2
commit 1c4b838403
5 changed files with 15 additions and 12 deletions
+2 -1
View File
@@ -8,12 +8,13 @@
#include <rtabmap/core/GlobalDescriptorExtractor.h>
#include "rtabmap/core/PythonInterface.h"
#include "rtabmap/core/rtabmap_core_export.h"
#include <Python.h>
namespace rtabmap
{
class PyDescriptor : public GlobalDescriptorExtractor
class RTABMAP_CORE_EXPORT PyDescriptor : public GlobalDescriptorExtractor
{
public:
PyDescriptor(const ParametersMap & parameters = ParametersMap());
+2 -1
View File
@@ -12,12 +12,13 @@
#include <vector>
#include "rtabmap/core/PythonInterface.h"
#include "rtabmap/core/rtabmap_core_export.h"
#include <Python.h>
namespace rtabmap
{
class PyDetector : public Feature2D
class RTABMAP_CORE_EXPORT PyDetector : public Feature2D
{
public:
PyDetector(const ParametersMap & parameters = ParametersMap());
+2 -1
View File
@@ -10,13 +10,14 @@
#include <opencv2/core/types.hpp>
#include <opencv2/core/mat.hpp>
#include "rtabmap/core/PythonInterface.h"
#include "rtabmap/core/rtabmap_core_export.h"
#include <vector>
#include <Python.h>
namespace rtabmap
{
class PyMatcher
class RTABMAP_CORE_EXPORT PyMatcher
{
public:
PyMatcher(const std::string & pythonMatcherPath,
+5 -5
View File
@@ -649,14 +649,14 @@ TEST_F(RtabmapIntegrationFixture, PR2_Scan2D_RGBD)
EXPECT_GE(result.gridObstacleCells, 4200);
EXPECT_LE(result.gridObstacleCells, 5100);
#ifdef RTABMAP_OCTOMAP
// Observed: empty 6072-8037, obstacle 39924-42883. Bounds are wide
// because without g2o (OdomF2M/BundleAdjustment disabled) visual
// odometry drifts a bit differently run-to-run, which propagates into
// the assembled occupancy grid.
// Observed: empty 6072-8037, obstacle 39924-44130. Bounds are wide
// because visual odometry drifts a bit differently run-to-run across
// platforms (different OpenCV versions and g2o-vs-no-g2o BA), which
// propagates into the assembled occupancy grid.
EXPECT_GE(result.octomapEmptyCells, 5500);
EXPECT_LE(result.octomapEmptyCells, 8500);
EXPECT_GE(result.octomapObstacleCells, 38000);
EXPECT_LE(result.octomapObstacleCells, 44000);
EXPECT_LE(result.octomapObstacleCells, 44500);
#endif
// RGB-D F2M visual odom + visual loop closure -- observed RMSE ~13 cm
// (less stable than the stereo/ICP paths), 20 cm bound gives ~50%
+4 -4
View File
@@ -189,8 +189,8 @@ TEST(TransformTest, GetTransformFromBuffer)
std::map<double, Transform> tfBuffer;
tfBuffer[1.0] = Transform(0, 0, 0, 0, 0, 0); // t=1.0
tfBuffer[2.0] = Transform(1, 0, 0, 0, 0, M_PI/2.0); // t=2.0
tfBuffer[3.0] = Transform(2, 0, 0, 0, 0, M_PI); // t=3.0
tfBuffer[2.0] = Transform(1, 0, 0, 0, 0, CV_PI/2.0); // t=2.0
tfBuffer[3.0] = Transform(2, 0, 0, 0, 0, CV_PI); // t=3.0
// Test exact timestamp
Transform tExact = Transform::getTransform(tfBuffer, 2.0);
@@ -199,12 +199,12 @@ TEST(TransformTest, GetTransformFromBuffer)
// Test below
Transform tBelow = Transform::getTransform(tfBuffer, 1.5);
EXPECT_NEAR(tBelow.x(), 0.5f, 1e-5);
EXPECT_NEAR(tBelow.theta(), M_PI/4.0, 1e-5);
EXPECT_NEAR(tBelow.theta(), CV_PI/4.0, 1e-5);
// Test above
Transform tAbove = Transform::getTransform(tfBuffer, 2.5);
EXPECT_NEAR(tAbove.x(), 1.5f, 1e-5);
EXPECT_NEAR(tAbove.theta(), 3.0*M_PI/4.0, 1e-5);
EXPECT_NEAR(tAbove.theta(), 3.0*CV_PI/4.0, 1e-5);
// Test very close to a border
Transform tNear = Transform::getTransform(tfBuffer, 2.0001);