Fix broken IBM OEM Unit tests
Tested Log:
ninja: no work to do.
1/28 libpldm_base_test OK 0.05s
2/28 libpldm_platform_test OK 0.04s
3/28 libpldm_bios_test OK 0.04s
4/28 libpldm_fru_test OK 0.03s
5/28 libpldm_utils_test OK 0.02s
6/28 libpldm_pdr_test OK 0.02s
7/28 ../../oem/ibm/test/libpldm_fileio_test OK 0.05s
8/28 ../../oem/ibm/test/libpldm_host_test OK 0.05s
9/28 libpldmresponder_base_test OK 0.05s
10/28 libpldmresponder_bios_test OK 0.04s
11/28 libpldmresponder_bios_attribute_test OK 0.04s
12/28 libpldmresponder_bios_string_attribute_test OK 0.06s
13/28 libpldmresponder_bios_integer_attribute_test OK 0.06s
14/28 libpldmresponder_bios_config_test OK 0.07s
15/28 libpldmresponder_bios_enum_attribute_test OK 0.06s
16/28 libpldmresponder_pdr_effecter_test OK 0.06s
17/28 libpldmresponder_pdr_sensor_test OK 0.05s
18/28 libpldmresponder_bios_table_test OK 0.07s
19/28 pldmd_instanceid_test OK 0.05s
20/28 pldmd_registration_test OK 0.05s
21/28 libpldmresponder_platform_test OK 0.07s
22/28 pldm_utils_test OK 0.05s
23/28 libpldmresponder_fru_test OK 0.04s
24/28 libpldmresponder_dbus_to_host_effecter_test OK 0.04s
25/28 ../oem/ibm/test/libpldmresponder_oem_platform_test OK 0.02s
26/28 ../oem/ibm/test/host_bmc_lamp_test OK 0.02s
27/28 ../oem/ibm/test/libpldmresponder_fileio_test OK 0.04s
28/28 libpldm_bios_table_test OK 2.14s
Ok: 28
Expected Fail: 0
Fail: 0
Unexpected Pass: 0
Skipped: 0
Timeout: 0
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Iaacbefffebee252f0588db267c3e26f583a9edba
diff --git a/oem/ibm/test/libpldmresponder_fileio_test.cpp b/oem/ibm/test/libpldmresponder_fileio_test.cpp
index a0b5a5e..e7a5945 100644
--- a/oem/ibm/test/libpldmresponder_fileio_test.cpp
+++ b/oem/ibm/test/libpldmresponder_fileio_test.cpp
@@ -209,6 +209,8 @@
uint32_t offset = 0;
uint32_t length = 10;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -223,7 +225,8 @@
// Pass invalid payload length
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileIntoMemory(request, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -236,6 +239,8 @@
uint32_t offset = 0;
uint32_t length = 0;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -254,7 +259,8 @@
auto& table = buildFileTable(fileTableConfig.c_str());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileIntoMemory(request, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_INVALID_FILE_HANDLE);
@@ -269,6 +275,8 @@
uint32_t offset = 1024;
uint32_t length = 0;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -286,7 +294,8 @@
auto& table = buildFileTable(fileTableConfig.c_str());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileIntoMemory(request, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_DATA_OUT_OF_RANGE);
@@ -301,6 +310,8 @@
// Length should be a multiple of dma min size(16)
uint32_t length = 10;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -318,7 +329,8 @@
auto& table = buildFileTable(fileTableConfig.c_str());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileIntoMemory(request, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -336,6 +348,8 @@
// DMA min size(16)
uint32_t length = 1024;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -353,7 +367,8 @@
auto& table = buildFileTable(fileTableConfig.c_str());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileIntoMemory(request, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -367,6 +382,8 @@
uint32_t offset = 0;
uint32_t length = 10;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -382,7 +399,8 @@
// Pass invalid payload length
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.writeFileFromMemory(request, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -400,6 +418,8 @@
uint32_t offset = 0;
uint32_t length = 16;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -418,7 +438,8 @@
auto& table = buildFileTable(fileTableConfig.c_str());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.writeFileFromMemory(request, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_INVALID_FILE_HANDLE);
@@ -433,6 +454,8 @@
uint32_t offset = 1024;
uint32_t length = 16;
uint64_t address = 0;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_REQ_BYTES>
requestMsg{};
@@ -451,7 +474,8 @@
auto& table = buildFileTable(TestFileTable::fileTableConfig.c_str());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.writeFileFromMemory(request, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_DATA_OUT_OF_RANGE);
@@ -509,6 +533,8 @@
uint8_t type = PLDM_FILE_ATTRIBUTE_TABLE;
uint32_t nextTransferHandle = 0;
uint8_t transferFlag = PLDM_START_AND_END;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_GET_FILE_TABLE_REQ_BYTES>
requestMsg{};
@@ -521,7 +547,8 @@
request->table_type = type;
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.getFileTable(requestMsgPtr, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_SUCCESS);
@@ -539,13 +566,16 @@
TEST_F(TestFileTable, GetFileTableCommandReqLengthMismatch)
{
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_GET_FILE_TABLE_REQ_BYTES>
requestMsg{};
auto request = reinterpret_cast<pldm_msg*>(requestMsg.data());
// Pass invalid command payload length
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.getFileTable(request, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -556,6 +586,8 @@
uint32_t transferHandle = 0;
uint8_t opFlag = 0;
uint8_t type = PLDM_OEM_FILE_ATTRIBUTE_TABLE;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_GET_FILE_TABLE_REQ_BYTES>
requestMsg{};
@@ -568,7 +600,8 @@
request->table_type = type;
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.getFileTable(requestMsgPtr, requestPayloadLength);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_INVALID_FILE_TABLE_TYPE);
@@ -579,6 +612,8 @@
uint32_t fileHandle = 1;
uint32_t offset = 0;
uint32_t length = 0x4;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_READ_FILE_REQ_BYTES>
requestMsg{};
@@ -597,7 +632,8 @@
// Invalid payload length
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFile(requestMsgPtr, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -624,6 +660,8 @@
uint32_t fileHandle = 0;
uint32_t offset = 0;
uint32_t length = 0x4;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_READ_FILE_REQ_BYTES>
requestMsg{};
@@ -648,7 +686,8 @@
stream.read(buffer.data(), length);
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto responseMsg = handler.readFile(requestMsgPtr, payload_length);
auto response = reinterpret_cast<pldm_read_file_resp*>(
responseMsg.data() + sizeof(pldm_msg_hdr));
@@ -681,6 +720,8 @@
uint32_t fileHandle = 0;
uint32_t offset = 0;
uint32_t length = 0x10;
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::vector<uint8_t> requestMsg(sizeof(pldm_msg_hdr) +
PLDM_WRITE_FILE_REQ_BYTES + length);
@@ -699,7 +740,8 @@
// Invalid payload length
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.writeFile(requestMsgPtr, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
ASSERT_EQ(responsePtr->payload[0], PLDM_ERROR_INVALID_LENGTH);
@@ -727,6 +769,8 @@
uint32_t offset = 0;
std::array<uint8_t, 4> fileData = {0x41, 0x42, 0x43, 0x44};
uint32_t length = fileData.size();
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
std::vector<uint8_t> requestMsg(sizeof(pldm_msg_hdr) +
PLDM_WRITE_FILE_REQ_BYTES + length);
@@ -747,7 +791,8 @@
memcpy(request->file_data, fileData.data(), fileData.size());
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto responseMsg = handler.writeFile(requestMsgPtr, payload_length);
auto response = reinterpret_cast<pldm_read_file_resp*>(
responseMsg.data() + sizeof(pldm_msg_hdr));
@@ -766,6 +811,9 @@
TEST(writeFileByTypeFromMemory, testBadPath)
{
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
+
const auto hdr_size = sizeof(pldm_msg_hdr);
std::array<uint8_t, hdr_size + PLDM_RW_FILE_BY_TYPE_MEM_REQ_BYTES>
requestMsg{};
@@ -781,7 +829,8 @@
request->address = 0;
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.writeFileByTypeFromMemory(req, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
@@ -844,6 +893,8 @@
TEST(readFileByTypeIntoMemory, testBadPath)
{
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
const auto hdr_size = sizeof(pldm_msg_hdr);
std::array<uint8_t, hdr_size + PLDM_RW_FILE_BY_TYPE_MEM_REQ_BYTES>
requestMsg{};
@@ -858,7 +909,8 @@
request->address = 0;
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileByTypeIntoMemory(req, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
struct pldm_read_write_file_by_type_memory_resp* resp =
@@ -884,6 +936,8 @@
TEST(readFileByType, testBadPath)
{
+ uint8_t host_eid = 0;
+ int hostSocketFd = 0;
const auto hdr_size = sizeof(pldm_msg_hdr);
std::array<uint8_t, hdr_size + PLDM_RW_FILE_BY_TYPE_REQ_BYTES> requestMsg{};
auto payloadLength = requestMsg.size() - hdr_size;
@@ -897,7 +951,8 @@
request->length = 13;
std::unique_ptr<oem_platform::Handler> oemPlatformHandler{};
- oem_ibm::Handler handler(oemPlatformHandler.get());
+ oem_ibm::Handler handler(oemPlatformHandler.get(), hostSocketFd, host_eid,
+ nullptr);
auto response = handler.readFileByType(req, 0);
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
struct pldm_read_write_file_by_type_resp* resp =
@@ -924,7 +979,7 @@
char tmplt[] = "/tmp/lid.XXXXXX";
auto fd = mkstemp(tmplt);
std::vector<uint8_t> in = {100, 10, 56, 78, 34, 56, 79, 235, 111};
- write(fd, in.data(), in.size());
+ rc = write(fd, in.data(), in.size());
close(fd);
length = in.size() + 1000;
rc = handler.readFile(tmplt, 0, length, response);