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
+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);