diff --git a/test/cable_unittest.cpp b/test/cable_unittest.cpp
index ed45c1b..b181584 100644
--- a/test/cable_unittest.cpp
+++ b/test/cable_unittest.cpp
@@ -27,7 +27,7 @@
     HandlerMock hMock;
 
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              CableCheck(request.data(), reply, &dataLen, &hMock));
+              cableCheck(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(CableCommandTest, FailsLengthSanityCheck)
@@ -42,7 +42,7 @@
     HandlerMock hMock;
 
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              CableCheck(request.data(), reply, &dataLen, &hMock));
+              cableCheck(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(CableCommandTest, LengthTooLongForPacket)
@@ -57,7 +57,7 @@
     HandlerMock hMock;
 
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              CableCheck(request.data(), reply, &dataLen, &hMock));
+              cableCheck(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(CableCommandTest, ValidRequestValidReturn)
@@ -71,7 +71,7 @@
     HandlerMock hMock;
 
     EXPECT_CALL(hMock, getRxPackets(StrEq("a"))).WillOnce(Return(0));
-    EXPECT_EQ(IPMI_CC_OK, CableCheck(request.data(), reply, &dataLen, &hMock));
+    EXPECT_EQ(IPMI_CC_OK, cableCheck(request.data(), reply, &dataLen, &hMock));
 
     // Check results.
     struct CableReply expectedReply, actualReply;
diff --git a/test/cpld_unittest.cpp b/test/cpld_unittest.cpp
index 1c6caa3..12a0444 100644
--- a/test/cpld_unittest.cpp
+++ b/test/cpld_unittest.cpp
@@ -25,7 +25,7 @@
 
     HandlerMock hMock;
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              CpldVersion(request.data(), reply, &dataLen, &hMock));
+              cpldVersion(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(CpldCommandTest, ValidRequestReturnsHappy)
@@ -43,7 +43,7 @@
         .WillOnce(Return(std::make_tuple(expectedMaj, expectedMin, expectedPt,
                                          expectedSbPtr)));
 
-    EXPECT_EQ(IPMI_CC_OK, CpldVersion(request.data(), reply, &dataLen, &hMock));
+    EXPECT_EQ(IPMI_CC_OK, cpldVersion(request.data(), reply, &dataLen, &hMock));
     EXPECT_EQ(expectedMaj, reply[1]);
     EXPECT_EQ(expectedMin, reply[2]);
     EXPECT_EQ(expectedPt, reply[3]);
diff --git a/test/entity_unittest.cpp b/test/entity_unittest.cpp
index 74495c6..0a76d86 100644
--- a/test/entity_unittest.cpp
+++ b/test/entity_unittest.cpp
@@ -27,7 +27,7 @@
 
     HandlerMock hMock;
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              GetEntityName(request.data(), reply, &dataLen, &hMock));
+              getEntityName(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(EntityNameCommandTest, ValidRequest)
@@ -44,7 +44,7 @@
     EXPECT_CALL(hMock, getEntityName(entityId, entityInstance))
         .WillOnce(Return(entityName));
     EXPECT_EQ(IPMI_CC_OK,
-              GetEntityName(request.data(), reply, &dataLen, &hMock));
+              getEntityName(request.data(), reply, &dataLen, &hMock));
     EXPECT_EQ(reply[1], entityName.length());
     EXPECT_EQ(0, std::memcmp(&reply[2], entityName.c_str(), reply[1]));
 }
diff --git a/test/eth_unittest.cpp b/test/eth_unittest.cpp
index dd3c73f..af1a9cc 100644
--- a/test/eth_unittest.cpp
+++ b/test/eth_unittest.cpp
@@ -37,12 +37,12 @@
                         expectedAnswer + sizeof(expectedAnswer)))));
 
     EXPECT_EQ(IPMI_CC_OK,
-              GetEthDevice(request.data(), &reply[0], &dataLen, &hMock));
+              getEthDevice(request.data(), &reply[0], &dataLen, &hMock));
     struct EthDeviceReply check;
     std::memcpy(&check, &reply[0], sizeof(check));
     EXPECT_EQ(check.subcommand, SysOEMCommands::SysGetEthDevice);
     EXPECT_EQ(check.channel, expectedChannel);
-    EXPECT_EQ(check.if_name_len, sizeof(expectedAnswer));
+    EXPECT_EQ(check.ifNameLength, sizeof(expectedAnswer));
     EXPECT_EQ(0, std::memcmp(expectedAnswer, &reply[sizeof(check)],
                              sizeof(expectedAnswer)));
 }
diff --git a/test/pcie_unittest.cpp b/test/pcie_unittest.cpp
index 34926ee..84bbe5c 100644
--- a/test/pcie_unittest.cpp
+++ b/test/pcie_unittest.cpp
@@ -29,7 +29,7 @@
     EXPECT_CALL(hMock, buildI2cPcieMapping());
     EXPECT_CALL(hMock, getI2cPcieMappingSize()).WillOnce(Return(expectedSize));
     EXPECT_EQ(IPMI_CC_OK,
-              PcieSlotCount(request.data(), reply, &dataLen, &hMock));
+              pcieSlotCount(request.data(), reply, &dataLen, &hMock));
     EXPECT_EQ(expectedSize, reply[1]);
 }
 
@@ -42,7 +42,7 @@
 
     HandlerMock hMock;
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              PcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
+              pcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(PcieI2cCommandTest, PcieSlotEntryRequestUnsupportedByPlatform)
@@ -56,7 +56,7 @@
     HandlerMock hMock;
     EXPECT_CALL(hMock, getI2cPcieMappingSize()).WillOnce(Return(0));
     EXPECT_EQ(IPMI_CC_INVALID_RESERVATION_ID,
-              PcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
+              pcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(PcieI2cCommandTest, PcieSlotEntryRequestInvalidIndex)
@@ -70,7 +70,7 @@
     HandlerMock hMock;
     EXPECT_CALL(hMock, getI2cPcieMappingSize()).WillOnce(Return(1));
     EXPECT_EQ(IPMI_CC_PARM_OUT_OF_RANGE,
-              PcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
+              pcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(PcieI2cCommandTest, PcieSlotEntryRequestValidIndex)
@@ -89,7 +89,7 @@
     EXPECT_CALL(hMock, getI2cEntry(index))
         .WillOnce(Return(std::make_tuple(busNum, slotName)));
     EXPECT_EQ(IPMI_CC_OK,
-              PcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
+              pcieSlotI2cBusMapping(request.data(), reply, &dataLen, &hMock));
     EXPECT_EQ(busNum, reply[1]);
     EXPECT_EQ(slotName.length(), reply[2]);
     EXPECT_EQ(0, std::memcmp(slotName.c_str(), &reply[3], reply[2]));
diff --git a/test/psu_unittest.cpp b/test/psu_unittest.cpp
index d2c84b1..7805370 100644
--- a/test/psu_unittest.cpp
+++ b/test/psu_unittest.cpp
@@ -25,7 +25,7 @@
 
     HandlerMock hMock;
     EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
-              PsuHardReset(request.data(), reply, &dataLen, &hMock));
+              psuHardReset(request.data(), reply, &dataLen, &hMock));
 }
 
 TEST(PsuCommandTest, ValidRequest)
@@ -43,7 +43,7 @@
     HandlerMock hMock;
     EXPECT_CALL(hMock, psuResetDelay(delayValue));
     EXPECT_EQ(IPMI_CC_OK,
-              PsuHardReset(request.data(), reply, &dataLen, &hMock));
+              psuHardReset(request.data(), reply, &dataLen, &hMock));
 }
 
 } // namespace ipmi
