You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sci-libs/pdal/files/pdal-2.3.0-fix_tests_for_pr...

111 lines
3.3 KiB

From https://github.com/PDAL/PDAL/commit/1a7415f67cfe13f816345ce4b7fc1c68f0a45c83
Bug https://bugs.gentoo.org/833820
From: Andrew Bell <andrew.bell.ia@gmail.com>
Date: Thu, 7 Oct 2021 11:15:18 -0400
Subject: [PATCH] Work around test issues with varying versions of PROJ (#3560)
* Add range for crop because of varying proj precision.
* Fix tests for PROJ 8.1.1
* More test workaround for proj.
---
test/unit/filters/CropFilterTest.cpp | 10 +++++++
test/unit/io/EptReaderTest.cpp | 41 +++++++++++++++++++++++++++-
2 files changed, 50 insertions(+), 1 deletion(-)
diff --git a/test/unit/filters/CropFilterTest.cpp b/test/unit/filters/CropFilterTest.cpp
index 23ccb465bc..f4b825c891 100644
--- a/test/unit/filters/CropFilterTest.cpp
+++ b/test/unit/filters/CropFilterTest.cpp
@@ -250,7 +250,17 @@ TEST(CropFilterTest, test_crop_polygon_reprojection)
PointViewSet viewSet = crop.execute(table);
EXPECT_EQ(viewSet.size(), 1u);
view = *viewSet.begin();
+//ABELL - I'd like to do the following, but we don't necessarily have proj.h
+/**
+#if defined(PROJ_VERSION_NUMBER) && PROJ_VERSION_NUMBER > 80101
+ EXPECT_EQ(view->size(), 45u);
+#else
EXPECT_EQ(view->size(), 47u);
+#endif
+**/
+// So instead...
+ EXPECT_GE(view->size(), 45u);
+ EXPECT_LE(view->size(), 47u);
FileUtils::closeFile(wkt_stream);
}
diff --git a/test/unit/io/EptReaderTest.cpp b/test/unit/io/EptReaderTest.cpp
index ab5cfdee4a..0d274d4c08 100644
--- a/test/unit/io/EptReaderTest.cpp
+++ b/test/unit/io/EptReaderTest.cpp
@@ -625,8 +625,21 @@ TEST(EptReaderTest, boundedCrop)
}
EXPECT_EQ(eptNp, sourceNp);
+
+//ABELL - A change in proj changed the numbers, but we don't necessarily have proj.h
+/**
+#if defined(PROJ_VERSION_NUMBER) && PROJ_VERSION_NUMBER > 80101
+ EXPECT_EQ(eptNp, 45u);
+ EXPECT_EQ(sourceNp, 45u);
+#else
EXPECT_EQ(eptNp, 47u);
EXPECT_EQ(sourceNp, 47u);
+#endif
+**/
+ EXPECT_GE(eptNp, 45u);
+ EXPECT_GE(sourceNp, 45u);
+ EXPECT_LE(eptNp, 47u);
+ EXPECT_LE(sourceNp, 47u);
}
TEST(EptReaderTest, polygonAndBoundsCrop)
@@ -769,8 +782,20 @@ TEST(EptReaderTest, boundedCropReprojection)
sourceNp += view->size();
EXPECT_EQ(eptNp, sourceNp);
+//ABELL - We don't necessarily have proj.h, so we can't do this:
+/**
+#if defined(PROJ_VERSION_NUMBER) && PROJ_VERSION_NUMBER > 80101
+ EXPECT_EQ(eptNp, 45u);
+ EXPECT_EQ(sourceNp, 45u);
+#else
EXPECT_EQ(eptNp, 47u);
EXPECT_EQ(sourceNp, 47u);
+#endif
+**/
+ EXPECT_GE(eptNp, 45u);
+ EXPECT_GE(sourceNp, 45u);
+ EXPECT_LE(eptNp, 47u);
+ EXPECT_LE(sourceNp, 47u);
}
@@ -811,9 +836,23 @@ TEST(EptReaderTest, ogrCrop)
for (const PointViewPtr& view : source.execute(sourceTable))
sourceNp += view->size();
- EXPECT_EQ(eptNp, sourceNp);
+//ABELL - PROJ changed to make the number of points that pass the filter different from
+// what's in the file we've got stored.
+// EXPECT_EQ(eptNp, sourceNp);
+//ABELL - We don't necessarily have proj.h, so can't do the following:
+/**
+#if defined(PROJ_VERSION_NUMBER) && PROJ_VERSION_NUMBER > 80101
+ EXPECT_EQ(eptNp, 89u);
+ EXPECT_EQ(sourceNp, 89u);
+#else
EXPECT_EQ(eptNp, 86u);
EXPECT_EQ(sourceNp, 86u);
+#endif
+**/
+ EXPECT_LE(eptNp, 89u);
+ EXPECT_LE(sourceNp, 89u);
+ EXPECT_GE(eptNp, 86u);
+ EXPECT_GE(sourceNp, 86u);
}
} // namespace pdal