summaryrefslogtreecommitdiffstats
path: root/test/process_unittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/process_unittest.cpp')
-rw-r--r--test/process_unittest.cpp31
1 files changed, 24 insertions, 7 deletions
diff --git a/test/process_unittest.cpp b/test/process_unittest.cpp
index 63e6f5e..4f8c9a6 100644
--- a/test/process_unittest.cpp
+++ b/test/process_unittest.cpp
@@ -57,8 +57,11 @@ TEST(ValidateBlobCommandTest, InvalidCommandReturnsFailure)
request[0] = 0xff; // There is no command 0xff.
dataLen = sizeof(uint8_t); // There is no payload for CRC.
+ ipmi_ret_t rc;
- EXPECT_EQ(nullptr, validateBlobCommand(&crc, request, reply, &dataLen));
+ EXPECT_EQ(nullptr,
+ validateBlobCommand(&crc, request, reply, &dataLen, &rc));
+ EXPECT_EQ(IPMI_CC_INVALID_FIELD_REQUEST, rc);
}
TEST(ValidateBlobCommandTest, ValidCommandWithoutPayload)
@@ -72,8 +75,10 @@ TEST(ValidateBlobCommandTest, ValidCommandWithoutPayload)
request[0] = BlobOEMCommands::bmcBlobGetCount;
dataLen = sizeof(uint8_t); // There is no payload for CRC.
+ ipmi_ret_t rc;
- IpmiBlobHandler res = validateBlobCommand(&crc, request, reply, &dataLen);
+ IpmiBlobHandler res =
+ validateBlobCommand(&crc, request, reply, &dataLen, &rc);
EXPECT_FALSE(res == nullptr);
EqualFunctions(getBlobCount, res);
}
@@ -91,8 +96,11 @@ TEST(ValidateBlobCommandTest, WithPayloadMinimumLengthIs3VerifyChecks)
request[0] = BlobOEMCommands::bmcBlobGetCount;
dataLen = sizeof(uint8_t) + sizeof(uint16_t);
// There is a payload, but there are insufficient bytes.
+ ipmi_ret_t rc;
- EXPECT_EQ(nullptr, validateBlobCommand(&crc, request, reply, &dataLen));
+ EXPECT_EQ(nullptr,
+ validateBlobCommand(&crc, request, reply, &dataLen, &rc));
+ EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID, rc);
}
TEST(ValidateBlobCommandTest, WithPayloadAndInvalidCrc)
@@ -125,7 +133,11 @@ TEST(ValidateBlobCommandTest, WithPayloadAndInvalidCrc)
}));
EXPECT_CALL(crc, get()).WillOnce(Return(0x1234));
- EXPECT_EQ(nullptr, validateBlobCommand(&crc, request, reply, &dataLen));
+ ipmi_ret_t rc;
+
+ EXPECT_EQ(nullptr,
+ validateBlobCommand(&crc, request, reply, &dataLen, &rc));
+ EXPECT_EQ(IPMI_CC_UNSPECIFIED_ERROR, rc);
}
TEST(ValidateBlobCommandTest, WithPayloadAndValidCrc)
@@ -158,7 +170,10 @@ TEST(ValidateBlobCommandTest, WithPayloadAndValidCrc)
}));
EXPECT_CALL(crc, get()).WillOnce(Return(0x3412));
- IpmiBlobHandler res = validateBlobCommand(&crc, request, reply, &dataLen);
+ ipmi_ret_t rc;
+
+ IpmiBlobHandler res =
+ validateBlobCommand(&crc, request, reply, &dataLen, &rc);
EXPECT_FALSE(res == nullptr);
EqualFunctions(writeBlob, res);
}
@@ -181,8 +196,10 @@ TEST(ValidateBlobCommandTest, InputIntegrationTest)
uint8_t reply[MAX_IPMI_BUFFER] = {0};
dataLen = sizeof(request);
+ ipmi_ret_t rc;
- IpmiBlobHandler res = validateBlobCommand(&crc, request, reply, &dataLen);
+ IpmiBlobHandler res =
+ validateBlobCommand(&crc, request, reply, &dataLen, &rc);
EXPECT_FALSE(res == nullptr);
EqualFunctions(openBlob, res);
}
@@ -250,7 +267,7 @@ TEST(ProcessBlobCommandTest, CommandReturnsOkWithInvalidPayloadLength)
dataLen = sizeof(request);
- EXPECT_EQ(IPMI_CC_INVALID,
+ EXPECT_EQ(IPMI_CC_UNSPECIFIED_ERROR,
processBlobCommand(h, &manager, &crc, request, reply, &dataLen));
}
OpenPOWER on IntegriCloud