17 #include "my_config.h" 
   18 #include <gtest/gtest.h> 
   24 namespace my_error_unittest {
 
   26 TEST(MyErrorTest, MyStrErrorSystem)
 
   31   msg= my_strerror(buf, 
sizeof(buf) - 1, 9999);
 
   32   EXPECT_TRUE(!strcasecmp(
"unknown error", msg) ||
 
   33               !strcasecmp(
"unknown error: 9999", msg) ||
 
   34               !strcasecmp(
"unknown error 9999", msg))
 
   35     << 
"msg<" << msg << 
">";
 
   38   msg= my_strerror(buf, 
sizeof(buf) - 1, EPERM);
 
   39   const char *os_msg= strerror(EPERM);
 
   40   EXPECT_STREQ(os_msg, msg)
 
   41     << 
"msg<" << msg << 
">";
 
   44 TEST(MyErrorTest, MyStrErrorHandlerPlugin)
 
   50   msg= my_strerror(buf, 
sizeof(buf) - 1, HA_ERR_KEY_NOT_FOUND);
 
   51   EXPECT_STREQ(
"Didn't find key on read or update", msg);
 
   54 TEST(MyErrorTest, MyGetErrMsgUnitialized)
 
   58   msg= my_get_err_msg(HA_ERR_KEY_NOT_FOUND);
 
   59   EXPECT_TRUE(msg == NULL);
 
   62 const char *faux_errmsgs[]= { 
"alpha", 
"beta", NULL, 
"delta" };
 
   64 const char** get_faux_errmsgs()
 
   69 static const int faux_error_first= 8000;
 
   70 static const int faux_error_last=  8003;
 
   72 TEST(MyErrorTest, MyGetErrMsgInitialized)
 
   76   EXPECT_EQ(0, my_error_register(get_faux_errmsgs,
 
   81   EXPECT_NE(0, my_error_register(get_faux_errmsgs,
 
   83                                  faux_error_last + 2));
 
   85   msg= my_get_err_msg(faux_error_first);
 
   86   EXPECT_STREQ(
"alpha", msg);
 
   88   msg= my_get_err_msg(faux_error_first + 1);
 
   89   EXPECT_STREQ(
"beta", msg);
 
   93   msg= my_get_err_msg(faux_error_first + 2);
 
   94   EXPECT_TRUE(msg == NULL);
 
   97   msg= my_get_err_msg(faux_error_first - 1);
 
   98   EXPECT_TRUE(msg == NULL);
 
  100   msg= my_get_err_msg(faux_error_last);
 
  101   EXPECT_STREQ(
"delta", msg);
 
  104   msg= my_get_err_msg(faux_error_last + 1);
 
  105   EXPECT_TRUE(msg == NULL);
 
  107   EXPECT_TRUE(my_error_unregister(faux_error_first, faux_error_last) != NULL);
 
  110   EXPECT_TRUE(my_error_unregister(faux_error_first, faux_error_last) == NULL);