7 #include <gtest/gtest.h> 
    9 TEST(SettingTest, socketcan_masks)
 
   11   const can_err_mask_t fatal_errors = ( CAN_ERR_TX_TIMEOUT   
 
   16   const can_err_mask_t report_errors = ( CAN_ERR_LOSTARB      
 
   26   EXPECT_EQ(sci.
getErrorMask(), fatal_errors | report_errors);
 
   31   m1->set(
"error_mask/CAN_ERR_LOSTARB", 
false);
 
   32   sci.
init(
"None", 
false, m1);
 
   33   EXPECT_EQ(sci.
getErrorMask(), (fatal_errors | report_errors) & (~CAN_ERR_LOSTARB));
 
   38   m2->set(
"error_mask/CAN_ERR_TX_TIMEOUT", 
false);
 
   39   sci.
init(
"None", 
false, m2);
 
   40   EXPECT_EQ(sci.
getErrorMask(), (fatal_errors | report_errors));
 
   45   m3->set(
"fatal_error_mask/CAN_ERR_TX_TIMEOUT", 
false);
 
   46   sci.
init(
"None", 
false, m3);
 
   47   EXPECT_EQ(sci.
getErrorMask(), (fatal_errors | report_errors) & (~CAN_ERR_TX_TIMEOUT));
 
   52   m4->set(
"fatal_error_mask/CAN_ERR_TX_TIMEOUT", 
false);
 
   53   m4->set(
"error_mask/CAN_ERR_LOSTARB", 
false);
 
   54   sci.
init(
"None", 
false, m4);
 
   55   EXPECT_EQ(sci.
getErrorMask(), (fatal_errors | report_errors) & ~(CAN_ERR_TX_TIMEOUT|CAN_ERR_LOSTARB));
 
   61   XmlRpc::XmlRpcValue value;
 
   63   XmlRpc::XmlRpcValue segment;
 
   65   value[
"segment"] = segment;
 
   68   ASSERT_TRUE(value[
"segment"].hasMember(std::string(
"param")));
 
   71   EXPECT_TRUE(settings.
get<
int>(
"param", res));
 
   74   EXPECT_FALSE(settings.
get<
int>(
"param2", res));
 
   77   EXPECT_TRUE(settings.
get<
int>(
"segment/param", res));
 
   81   EXPECT_FALSE(settings.
get<
int>(
"segment/param2", res));
 
   82   EXPECT_EQ(settings.
get_optional(
"segment/param2", 0), 0);
 
   83   EXPECT_FALSE(settings.
get<
int>(
"segment2/param", res));
 
   84   EXPECT_EQ(settings.
get_optional(
"segment2/param", 0), 0);
 
   88 int main(
int argc, 
char **argv){
 
   89 testing::InitGoogleTest(&argc, argv);
 
   90 return RUN_ALL_TESTS();