libpldm: Fix test failure in fileio

All the failures on big endian in libpldm_fileio_test are related
to the test cases themselves.
Fix the endian issues.

Tested: Verify the libpldm_fileio_test cases pass on both little
        endian and big endian systems.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I2f89319f716f216a6fd0e9027259590f10cea340
diff --git a/oem/ibm/test/libpldm_fileio_test.cpp b/oem/ibm/test/libpldm_fileio_test.cpp
index ac6fde4..81facea 100644
--- a/oem/ibm/test/libpldm_fileio_test.cpp
+++ b/oem/ibm/test/libpldm_fileio_test.cpp
@@ -18,15 +18,20 @@
     uint32_t offset = 0x87654321;
     uint32_t length = 0x13245768;
     uint64_t address = 0x124356879ACBDE0F;
+    uint32_t fileHandleLe = htole32(fileHandle);
+    uint32_t offsetLe = htole32(offset);
+    uint32_t lengthLe = htole32(length);
+    uint64_t addressLe = htole64(address);
 
-    memcpy(requestMsg.data() + hdrSize, &fileHandle, sizeof(fileHandle));
-    memcpy(requestMsg.data() + sizeof(fileHandle) + hdrSize, &offset,
-           sizeof(offset));
-    memcpy(requestMsg.data() + sizeof(fileHandle) + sizeof(offset) + hdrSize,
-           &length, sizeof(length));
-    memcpy(requestMsg.data() + sizeof(fileHandle) + sizeof(offset) +
-               sizeof(length) + hdrSize,
-           &address, sizeof(address));
+    memcpy(requestMsg.data() + hdrSize, &fileHandleLe, sizeof(fileHandleLe));
+    memcpy(requestMsg.data() + sizeof(fileHandleLe) + hdrSize, &offsetLe,
+           sizeof(offsetLe));
+    memcpy(requestMsg.data() + sizeof(fileHandleLe) + sizeof(offsetLe) +
+               hdrSize,
+           &lengthLe, sizeof(lengthLe));
+    memcpy(requestMsg.data() + sizeof(fileHandleLe) + sizeof(offsetLe) +
+               sizeof(lengthLe) + hdrSize,
+           &addressLe, sizeof(addressLe));
 
     uint32_t retFileHandle = 0;
     uint32_t retOffset = 0;
@@ -79,6 +84,7 @@
     std::array<uint8_t, sizeof(pldm_msg_hdr) + PLDM_RW_FILE_MEM_RESP_BYTES>
         responseMsg{};
     uint32_t length = 0xFF00EE11;
+    uint32_t lengthLe = htole32(length);
     pldm_msg* response = reinterpret_cast<pldm_msg*>(responseMsg.data());
 
     // ReadFileIntoMemory
@@ -92,7 +98,7 @@
     ASSERT_EQ(response->hdr.command, PLDM_READ_FILE_INTO_MEMORY);
     ASSERT_EQ(response->payload[0], PLDM_SUCCESS);
     ASSERT_EQ(0, memcmp(response->payload + sizeof(response->payload[0]),
-                        &length, sizeof(length)));
+                        &lengthLe, sizeof(lengthLe)));
 
     // WriteFileFromMemory
     rc = encode_rw_file_memory_resp(0, PLDM_WRITE_FILE_FROM_MEMORY,
@@ -105,7 +111,7 @@
     ASSERT_EQ(response->hdr.command, PLDM_WRITE_FILE_FROM_MEMORY);
     ASSERT_EQ(response->payload[0], PLDM_SUCCESS);
     ASSERT_EQ(0, memcmp(response->payload + sizeof(response->payload[0]),
-                        &length, sizeof(length)));
+                        &lengthLe, sizeof(lengthLe)));
 }
 
 TEST(ReadWriteFileMemory, testBadEncodeResponse)
@@ -143,12 +149,13 @@
     std::array<uint8_t, PLDM_RW_FILE_MEM_RESP_BYTES + hdrSize> responseMsg{};
     // Random value for length
     uint32_t length = 0xFF00EE12;
+    uint32_t lengthLe = htole32(length);
     uint8_t completionCode = 0;
 
     memcpy(responseMsg.data() + hdrSize, &completionCode,
            sizeof(completionCode));
-    memcpy(responseMsg.data() + sizeof(completionCode) + hdrSize, &length,
-           sizeof(length));
+    memcpy(responseMsg.data() + sizeof(completionCode) + hdrSize, &lengthLe,
+           sizeof(lengthLe));
 
     uint8_t retCompletionCode = 0;
     uint32_t retLength = 0;
@@ -190,6 +197,10 @@
     uint32_t offset = 0x87654321;
     uint32_t length = 0x13245768;
     uint64_t address = 0x124356879ACBDE0F;
+    uint32_t fileHandleLe = htole32(fileHandle);
+    uint32_t offsetLe = htole32(offset);
+    uint32_t lengthLe = htole32(length);
+    uint64_t addressLe = htole64(address);
 
     pldm_msg* request = reinterpret_cast<pldm_msg*>(requestMsg.data());
 
@@ -203,15 +214,16 @@
     ASSERT_EQ(request->hdr.type, PLDM_OEM);
     ASSERT_EQ(request->hdr.command, PLDM_READ_FILE_INTO_MEMORY);
 
-    ASSERT_EQ(0, memcmp(request->payload, &fileHandle, sizeof(fileHandle)));
+    ASSERT_EQ(0, memcmp(request->payload, &fileHandleLe, sizeof(fileHandleLe)));
 
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileHandle), &offset,
-                        sizeof(offset)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileHandle) + sizeof(offset),
-                        &length, sizeof(length)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileHandle) + sizeof(offset) +
-                            sizeof(length),
-                        &address, sizeof(address)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileHandleLe), &offsetLe,
+                        sizeof(offsetLe)));
+    ASSERT_EQ(0,
+              memcmp(request->payload + sizeof(fileHandleLe) + sizeof(offsetLe),
+                     &lengthLe, sizeof(lengthLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileHandleLe) +
+                            sizeof(offsetLe) + sizeof(lengthLe),
+                        &addressLe, sizeof(addressLe)));
 }
 
 TEST(ReadWriteFileIntoMemory, testBadEncodeRequest)
@@ -234,11 +246,12 @@
 
     // Random value for DataTransferHandle, TransferOperationFlag, TableType
     uint32_t transferHandle = 0x12345678;
+    uint32_t transferHandleLe = htole32(transferHandle);
     uint8_t transferOpFlag = 1;
     uint8_t tableType = 1;
 
-    memcpy(requestMsg.data() + hdrSize, &transferHandle,
-           sizeof(transferHandle));
+    memcpy(requestMsg.data() + hdrSize, &transferHandleLe,
+           sizeof(transferHandleLe));
     memcpy(requestMsg.data() + sizeof(transferHandle) + hdrSize,
            &transferOpFlag, sizeof(transferOpFlag));
     memcpy(requestMsg.data() + sizeof(transferHandle) + sizeof(transferOpFlag) +
@@ -293,6 +306,7 @@
     // Random value for NextDataTransferHandle and TransferFlag
     uint8_t completionCode = 0;
     uint32_t nextTransferHandle = 0x87654321;
+    uint32_t nextTransferHandleLe = htole32(nextTransferHandle);
     uint8_t transferFlag = 5;
     // Mock file table contents of size 5
     std::array<uint8_t, 5> fileTable = {1, 2, 3, 4, 5};
@@ -315,7 +329,7 @@
     ASSERT_EQ(response->hdr.command, PLDM_GET_FILE_TABLE);
     ASSERT_EQ(response->payload[0], PLDM_SUCCESS);
     ASSERT_EQ(0, memcmp(response->payload + sizeof(response->payload[0]),
-                        &nextTransferHandle, sizeof(nextTransferHandle)));
+                        &nextTransferHandleLe, sizeof(nextTransferHandle)));
     ASSERT_EQ(0, memcmp(response->payload + sizeof(response->payload[0]) +
                             sizeof(nextTransferHandle),
                         &transferFlag, sizeof(transferFlag)));
@@ -365,9 +379,9 @@
     uint32_t offset = 0x87654321;
     uint32_t length = 0x13245768;
 
-    request->file_handle = fileHandle;
-    request->offset = offset;
-    request->length = length;
+    request->file_handle = htole32(fileHandle);
+    request->offset = htole32(offset);
+    request->length = htole32(length);
 
     uint32_t retFileHandle = 0;
     uint32_t retOffset = 0;
@@ -399,9 +413,9 @@
     size_t fileDataOffset =
         sizeof(fileHandle) + sizeof(offset) + sizeof(length);
 
-    request->file_handle = fileHandle;
-    request->offset = offset;
-    request->length = length;
+    request->file_handle = htole32(fileHandle);
+    request->offset = htole32(offset);
+    request->length = htole32(length);
 
     uint32_t retFileHandle = 0;
     uint32_t retOffset = 0;
@@ -433,7 +447,7 @@
         reinterpret_cast<pldm_read_file_resp*>(responsePtr->payload);
 
     response->completion_code = completionCode;
-    response->length = length;
+    response->length = htole32(length);
 
     size_t fileDataOffset = sizeof(completionCode) + sizeof(length);
 
@@ -465,7 +479,7 @@
     uint32_t length = 0x4678;
 
     response->completion_code = completionCode;
-    response->length = length;
+    response->length = htole32(length);
 
     uint32_t retLength = 0;
     uint8_t retCompletionCode = 0;
@@ -569,7 +583,7 @@
     ASSERT_EQ(responsePtr->hdr.type, PLDM_OEM);
     ASSERT_EQ(responsePtr->hdr.command, PLDM_READ_FILE);
     ASSERT_EQ(response->completion_code, PLDM_SUCCESS);
-    ASSERT_EQ(response->length, length);
+    ASSERT_EQ(le32toh(response->length), length);
 }
 
 TEST(WriteFile, testGoodEncodeResponse)
@@ -591,7 +605,7 @@
     ASSERT_EQ(responsePtr->hdr.type, PLDM_OEM);
     ASSERT_EQ(responsePtr->hdr.command, PLDM_WRITE_FILE);
     ASSERT_EQ(response->completion_code, PLDM_SUCCESS);
-    ASSERT_EQ(response->length, length);
+    ASSERT_EQ(le32toh(response->length), length);
 }
 
 TEST(ReadFile, testGoodEncodeRequest)
@@ -613,9 +627,9 @@
     ASSERT_EQ(requestPtr->hdr.instance_id, 0);
     ASSERT_EQ(requestPtr->hdr.type, PLDM_OEM);
     ASSERT_EQ(requestPtr->hdr.command, PLDM_READ_FILE);
-    ASSERT_EQ(request->file_handle, fileHandle);
-    ASSERT_EQ(request->offset, offset);
-    ASSERT_EQ(request->length, length);
+    ASSERT_EQ(le32toh(request->file_handle), fileHandle);
+    ASSERT_EQ(le32toh(request->offset), offset);
+    ASSERT_EQ(le32toh(request->length), length);
 }
 
 TEST(WriteFile, testGoodEncodeRequest)
@@ -637,9 +651,9 @@
     ASSERT_EQ(requestPtr->hdr.instance_id, 0);
     ASSERT_EQ(requestPtr->hdr.type, PLDM_OEM);
     ASSERT_EQ(requestPtr->hdr.command, PLDM_WRITE_FILE);
-    ASSERT_EQ(request->file_handle, fileHandle);
-    ASSERT_EQ(request->offset, offset);
-    ASSERT_EQ(request->length, length);
+    ASSERT_EQ(le32toh(request->file_handle), fileHandle);
+    ASSERT_EQ(le32toh(request->offset), offset);
+    ASSERT_EQ(le32toh(request->length), length);
 }
 
 TEST(ReadWriteFile, testBadEncodeRequest)
@@ -722,11 +736,11 @@
     uint32_t length = 0x13245768;
     uint64_t address = 0x124356879ACBD456;
 
-    request->file_type = fileType;
-    request->file_handle = fileHandle;
-    request->offset = offset;
-    request->length = length;
-    request->address = address;
+    request->file_type = htole16(fileType);
+    request->file_handle = htole32(fileHandle);
+    request->offset = htole32(offset);
+    request->length = htole32(length);
+    request->address = htole64(address);
 
     uint16_t retFileType = 0x1;
     uint32_t retFileHandle = 0;
@@ -763,7 +777,7 @@
     uint32_t length = 0x13245768;
 
     response->completion_code = completionCode;
-    response->length = length;
+    response->length = htole32(length);
 
     uint8_t retCompletionCode = 0x1;
     uint32_t retLength = 0;
@@ -846,6 +860,11 @@
     uint32_t offset = 0x87654321;
     uint32_t length = 0x13245768;
     uint64_t address = 0x124356879ACBDE0F;
+    uint16_t fileTypeLe = htole16(fileType);
+    uint32_t fileHandleLe = htole32(fileHandle);
+    uint32_t offsetLe = htole32(offset);
+    uint32_t lengthLe = htole32(length);
+    uint64_t addressLe = htole64(address);
 
     pldm_msg* request = reinterpret_cast<pldm_msg*>(requestMsg.data());
 
@@ -859,20 +878,20 @@
     ASSERT_EQ(request->hdr.type, PLDM_OEM);
     ASSERT_EQ(request->hdr.command, PLDM_READ_FILE_BY_TYPE_INTO_MEMORY);
 
-    ASSERT_EQ(0, memcmp(request->payload, &fileType, sizeof(fileType)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileType), &fileHandle,
-                        sizeof(fileHandle)));
+    ASSERT_EQ(0, memcmp(request->payload, &fileTypeLe, sizeof(fileTypeLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe), &fileHandleLe,
+                        sizeof(fileHandleLe)));
 
-    ASSERT_EQ(0,
-              memcmp(request->payload + sizeof(fileType) + sizeof(fileHandle),
-                     &offset, sizeof(offset)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileType) +
-                            sizeof(fileHandle) + sizeof(offset),
-                        &length, sizeof(length)));
-    ASSERT_EQ(0,
-              memcmp(request->payload + sizeof(fileType) + sizeof(fileHandle) +
-                         sizeof(offset) + sizeof(length),
-                     &address, sizeof(address)));
+    ASSERT_EQ(
+        0, memcmp(request->payload + sizeof(fileTypeLe) + sizeof(fileHandleLe),
+                  &offsetLe, sizeof(offsetLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe) +
+                            sizeof(fileHandleLe) + sizeof(offsetLe),
+                        &lengthLe, sizeof(lengthLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe) +
+                            sizeof(fileHandleLe) + sizeof(offsetLe) +
+                            sizeof(lengthLe),
+                        &addressLe, sizeof(addressLe)));
 }
 
 TEST(ReadWriteFileByTypeMemory, testGoodEncodeResponse)
@@ -882,6 +901,7 @@
         responseMsg{};
 
     uint32_t length = 0x13245768;
+    uint32_t lengthLe = htole32(length);
     uint8_t completionCode = 0x0;
 
     pldm_msg* response = reinterpret_cast<pldm_msg*>(responseMsg.data());
@@ -898,8 +918,8 @@
 
     ASSERT_EQ(
         0, memcmp(response->payload, &completionCode, sizeof(completionCode)));
-    ASSERT_EQ(0, memcmp(response->payload + sizeof(completionCode), &length,
-                        sizeof(length)));
+    ASSERT_EQ(0, memcmp(response->payload + sizeof(completionCode), &lengthLe,
+                        sizeof(lengthLe)));
 }
 
 TEST(ReadWriteFileByTypeMemory, testBadEncodeResponse)
@@ -958,9 +978,9 @@
     uint32_t fileHandle = 0x12345678;
     uint64_t length = 0x13245768;
 
-    request->file_type = fileType;
-    request->file_handle = fileHandle;
-    request->length = length;
+    request->file_type = htole16(fileType);
+    request->file_handle = htole32(fileHandle);
+    request->length = htole64(length);
 
     uint16_t retFileType = 0xFF;
     uint32_t retFileHandle = 0;
@@ -1047,6 +1067,9 @@
     uint16_t fileType = 0xFF;
     uint32_t fileHandle = 0x12345678;
     uint32_t length = 0x13245768;
+    uint16_t fileTypeLe = htole16(fileType);
+    uint32_t fileHandleLe = htole32(fileHandle);
+    uint32_t lengthLe = htole32(length);
 
     pldm_msg* request = reinterpret_cast<pldm_msg*>(requestMsg.data());
 
@@ -1057,12 +1080,12 @@
     ASSERT_EQ(request->hdr.instance_id, 0);
     ASSERT_EQ(request->hdr.type, PLDM_OEM);
     ASSERT_EQ(request->hdr.command, PLDM_NEW_FILE_AVAILABLE);
-    ASSERT_EQ(0, memcmp(request->payload, &fileType, sizeof(fileType)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileType), &fileHandle,
-                        sizeof(fileHandle)));
-    ASSERT_EQ(0,
-              memcmp(request->payload + sizeof(fileType) + sizeof(fileHandle),
-                     &length, sizeof(length)));
+    ASSERT_EQ(0, memcmp(request->payload, &fileTypeLe, sizeof(fileTypeLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe), &fileHandleLe,
+                        sizeof(fileHandleLe)));
+    ASSERT_EQ(
+        0, memcmp(request->payload + sizeof(fileTypeLe) + sizeof(fileHandleLe),
+                  &lengthLe, sizeof(lengthLe)));
 }
 
 TEST(NewFile, testGoodEncodeResponse)
@@ -1135,10 +1158,9 @@
     uint32_t offset = 0x87654321;
     uint32_t length = 0x13245768;
 
-    request->file_type = fileType;
-    request->file_handle = fileHandle;
-    request->offset = offset;
-    request->length = length;
+    request->file_handle = htole32(fileHandle);
+    request->offset = htole32(offset);
+    request->length = htole32(length);
 
     uint16_t retFileType = 0x1;
     uint32_t retFileHandle = 0;
@@ -1172,7 +1194,7 @@
     uint32_t length = 0x13245768;
 
     response->completion_code = completionCode;
-    response->length = length;
+    response->length = htole32(length);
 
     uint8_t retCompletionCode = 0x1;
     uint32_t retLength = 0;
@@ -1242,6 +1264,10 @@
     uint32_t fileHandle = 0x12345678;
     uint32_t offset = 0x87654321;
     uint32_t length = 0x13245768;
+    uint16_t fileTypeLe = htole16(fileType);
+    uint32_t fileHandleLe = htole32(fileHandle);
+    uint32_t offsetLe = htole32(offset);
+    uint32_t lengthLe = htole32(length);
 
     pldm_msg* request = reinterpret_cast<pldm_msg*>(requestMsg.data());
 
@@ -1254,16 +1280,16 @@
     ASSERT_EQ(request->hdr.type, PLDM_OEM);
     ASSERT_EQ(request->hdr.command, PLDM_READ_FILE_BY_TYPE);
 
-    ASSERT_EQ(0, memcmp(request->payload, &fileType, sizeof(fileType)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileType), &fileHandle,
-                        sizeof(fileHandle)));
+    ASSERT_EQ(0, memcmp(request->payload, &fileTypeLe, sizeof(fileTypeLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe), &fileHandleLe,
+                        sizeof(fileHandleLe)));
 
-    ASSERT_EQ(0,
-              memcmp(request->payload + sizeof(fileType) + sizeof(fileHandle),
-                     &offset, sizeof(offset)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileType) +
-                            sizeof(fileHandle) + sizeof(offset),
-                        &length, sizeof(length)));
+    ASSERT_EQ(
+        0, memcmp(request->payload + sizeof(fileTypeLe) + sizeof(fileHandleLe),
+                  &offsetLe, sizeof(offsetLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe) +
+                            sizeof(fileHandleLe) + sizeof(offsetLe),
+                        &lengthLe, sizeof(lengthLe)));
 }
 
 TEST(ReadWriteFileByType, testGoodEncodeResponse)
@@ -1272,6 +1298,7 @@
         responseMsg{};
 
     uint32_t length = 0x13245768;
+    uint32_t lengthLe = htole32(length);
     uint8_t completionCode = 0x0;
     pldm_msg* response = reinterpret_cast<pldm_msg*>(responseMsg.data());
 
@@ -1286,8 +1313,8 @@
 
     ASSERT_EQ(
         0, memcmp(response->payload, &completionCode, sizeof(completionCode)));
-    ASSERT_EQ(0, memcmp(response->payload + sizeof(completionCode), &length,
-                        sizeof(length)));
+    ASSERT_EQ(0, memcmp(response->payload + sizeof(completionCode), &lengthLe,
+                        sizeof(lengthLe)));
 }
 
 TEST(ReadWriteFileByType, testBadEncodeResponse)
@@ -1341,10 +1368,10 @@
     // Random value for fileHandle
     uint16_t fileType = 0xFFFF;
     uint32_t fileHandle = 0x12345678;
-    uint32_t fileStatus = 0xFF;
+    uint8_t fileStatus = 0xFF;
 
-    request->file_type = fileType;
-    request->file_handle = fileHandle;
+    request->file_type = htole16(fileType);
+    request->file_handle = htole32(fileHandle);
     request->file_status = fileStatus;
 
     uint16_t retFileType = 0xFF;
@@ -1433,6 +1460,8 @@
     uint16_t fileType = 0xFFFF;
     uint32_t fileHandle = 0x12345678;
     uint8_t fileStatus = 0xFF;
+    uint16_t fileTypeLe = htole16(fileType);
+    uint32_t fileHandleLe = htole32(fileHandle);
 
     pldm_msg* request = reinterpret_cast<pldm_msg*>(requestMsg.data());
 
@@ -1443,9 +1472,9 @@
     ASSERT_EQ(request->hdr.instance_id, 0);
     ASSERT_EQ(request->hdr.type, PLDM_OEM);
     ASSERT_EQ(request->hdr.command, PLDM_FILE_ACK);
-    ASSERT_EQ(0, memcmp(request->payload, &fileType, sizeof(fileType)));
-    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileType), &fileHandle,
-                        sizeof(fileHandle)));
+    ASSERT_EQ(0, memcmp(request->payload, &fileTypeLe, sizeof(fileTypeLe)));
+    ASSERT_EQ(0, memcmp(request->payload + sizeof(fileTypeLe), &fileHandleLe,
+                        sizeof(fileHandleLe)));
 }
 
 TEST(FileAck, testGoodEncodeResponse)