aboutsummaryrefslogtreecommitdiff
path: root/test/unit/proj_errno_string_test.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-12-15 00:51:46 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-12-15 01:13:43 +0100
commit244a24104ded3a4573aeffa32160af21f76cbce6 (patch)
treef3a11529172719657cf7576e062e45e0f9452db5 /test/unit/proj_errno_string_test.cpp
parent1e9894b0e2b161e61546672bccb85a9ef21df541 (diff)
downloadPROJ-244a24104ded3a4573aeffa32160af21f76cbce6.tar.gz
PROJ-244a24104ded3a4573aeffa32160af21f76cbce6.zip
Revise error codes to have a reduced set exposed in the public API.
Fixes #2482 And also add proj_context_errno_string() Revise gie 'expect failure errno XXXX' strings
Diffstat (limited to 'test/unit/proj_errno_string_test.cpp')
-rw-r--r--test/unit/proj_errno_string_test.cpp43
1 files changed, 16 insertions, 27 deletions
diff --git a/test/unit/proj_errno_string_test.cpp b/test/unit/proj_errno_string_test.cpp
index a592b31f..d58c5e3f 100644
--- a/test/unit/proj_errno_string_test.cpp
+++ b/test/unit/proj_errno_string_test.cpp
@@ -35,37 +35,26 @@
namespace {
-TEST(ProjErrnoStringTest, NoError) { EXPECT_EQ(0, proj_errno_string(0)); }
+TEST(ProjErrnoStringTest, NoError) { EXPECT_EQ(nullptr, proj_errno_string(0)); }
TEST(ProjErrnoStringTest, ProjErrnos) {
- EXPECT_STREQ("no arguments in initialization list", proj_errno_string(-1));
- EXPECT_STREQ("invalid projection system error (-1000)",
- proj_errno_string(-1000));
- EXPECT_STREQ("invalid projection system error (-9999)",
- proj_errno_string(-9999));
- // for errnos < -9999, -9999 is always returned
- const int min = std::numeric_limits<int>::min();
- EXPECT_STREQ("invalid projection system error (-9999)",
- proj_errno_string(min));
- EXPECT_STREQ("invalid projection system error (-9999)",
- proj_errno_string(-10000));
+ EXPECT_STREQ("Unknown error (code -1)", proj_errno_string(-1));
+ EXPECT_STREQ("Invalid PROJ string syntax",
+ proj_errno_string(PROJ_ERR_INVALID_OP_WRONG_SYNTAX));
+ EXPECT_STREQ(
+ "Unspecified error related to coordinate operation initialization",
+ proj_errno_string(PROJ_ERR_INVALID_OP));
+ EXPECT_STREQ("Unspecified error related to coordinate transformation",
+ proj_errno_string(PROJ_ERR_COORD_TRANSFM));
}
-TEST(ProjErrnoStringTest, SystemErrnos) {
- const int max = std::numeric_limits<int>::max();
-
-#ifdef HAVE_STRERROR
- EXPECT_STREQ(strerror(5), proj_errno_string(5));
- EXPECT_STREQ(strerror(9999), proj_errno_string(9999));
- EXPECT_STREQ(strerror(10000), proj_errno_string(10000));
- EXPECT_STREQ(strerror(max), proj_errno_string(max));
-#else
- EXPECT_STREQ("no system list, errno: 5\n", proj_errno_string(5));
- EXPECT_STREQ("no system list, errno: 9999\n", proj_errno_string(9999));
- // for errnos > 9999, 9999 is always returned
- EXPECT_STREQ("no system list, errno: 9999\n", proj_errno_string(10000));
- EXPECT_STREQ("no system list, errno: 9999\n", proj_errno_string(max));
-#endif
+TEST(ProjErrnoStringTest, proj_context_errno_string) {
+ EXPECT_STREQ("Unknown error (code -1)",
+ proj_context_errno_string(nullptr, -1));
+ PJ_CONTEXT *ctx = proj_context_create();
+ EXPECT_STREQ("Unknown error (code -999)",
+ proj_context_errno_string(ctx, -999));
+ proj_context_destroy(ctx);
}
} // namespace