@@ -90,16 +90,16 @@ TEST_F(GeoFamilyTest, GeoDist) {
9090 EXPECT_EQ (2 , CheckedInt ({" geoadd" , " Sicily" , " 13.361389" , " 38.115556" , " Palermo" , " 15.087269" ,
9191 " 37.502669" , " Catania" }));
9292 auto resp = Run ({" geodist" , " Sicily" , " Palermo" , " Catania" });
93- EXPECT_EQ ( resp, " 166274.15156960033" );
93+ EXPECT_NEAR ( std::stod ( resp. GetString ()), 166274.15156960033 , 1e-5 );
9494
9595 resp = Run ({" geodist" , " Sicily" , " Palermo" , " Catania" , " km" });
96- EXPECT_EQ ( resp, " 166.27415156960032" );
96+ EXPECT_NEAR ( std::stod ( resp. GetString ()), 166.27415156960032 , 1e-5 );
9797
9898 resp = Run ({" geodist" , " Sicily" , " Palermo" , " Catania" , " MI" });
99- EXPECT_EQ ( resp, " 103.31822459492733" );
99+ EXPECT_NEAR ( std::stod ( resp. GetString ()), 103.31822459492733 , 1e-5 );
100100
101101 resp = Run ({" geodist" , " Sicily" , " Palermo" , " Catania" , " FT" });
102- EXPECT_EQ ( resp, " 545518.8699790037" );
102+ EXPECT_NEAR ( std::stod ( resp. GetString ()), 545518.8699790037 , 1e-5 );
103103
104104 resp = Run ({" geodist" , " Sicily" , " Foo" , " Bar" });
105105 EXPECT_THAT (resp, ArgType (RespExpr::NIL));
@@ -176,9 +176,11 @@ TEST_F(GeoFamilyTest, GeoSearch) {
176176 EXPECT_THAT (
177177 resp,
178178 RespArray (ElementsAre (
179- RespArray (ElementsAre (" Madrid" , " 0" ,
179+ // Change "0" to DoubleArg(0) to tolerate floating point noise (5.7e-15)
180+ RespArray (ElementsAre (" Madrid" , DoubleArg (0 ),
180181 RespArray (ElementsAre (DoubleArg (3.7038 ), DoubleArg (40.4168 ))))),
181- RespArray (ElementsAre (" Lisbon" , DoubleArg (502.20769462704084 ),
182+ // Update Lisbon distance to match the Haswell/AVX output seen in your logs
183+ RespArray (ElementsAre (" Lisbon" , DoubleArg (502.20769462704106 ),
182184 RespArray (ElementsAre (DoubleArg (9.1427 ), DoubleArg (38.7369 ))))))));
183185
184186 resp = Run ({" GEOSEARCH" , " Europe" , " FROMMEMBER" , " Madrid" , " BYRADIUS" , " 700" , " KM" });
@@ -382,9 +384,9 @@ TEST_F(GeoFamilyTest, GeoRadiusByMemberUb) {
382384 auto resp = Run ({" GEORADIUSBYMEMBER" , " geo" , " 971" , " 200" , " mi" , " WITHCOORD" , " WITHDIST" , " COUNT" ,
383385 " 40" , " ASC" });
384386
385- EXPECT_THAT (resp,
386- RespArray ( ElementsAre (
387- " 971 " , " 0 " , RespArray (ElementsAre (" -122.41940170526505" , " 37.77490001056578" )))));
387+ EXPECT_THAT (resp, RespArray ( ElementsAre (
388+ " 971 " , DoubleArg ( 0 ),
389+ RespArray (ElementsAre (" -122.41940170526505" , " 37.77490001056578" )))));
388390}
389391
390392} // namespace dfly
0 commit comments