mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
Modify validateBurstSanitized to take a single request.
This CL is to modify validateBurstSanitized implementation in accordance
with the new test generator and test harness change in the same topic.
Bug: 123092187
Test: 1.2 VTS
Change-Id: Iacfe0e3bba8b4b44b7aee023d1c8129cbd089d4a
Merged-In: Iacfe0e3bba8b4b44b7aee023d1c8129cbd089d4a
(cherry picked from commit 8fc4622bf1)
This commit is contained in:
@@ -361,7 +361,7 @@ static bool isSanitized(const FmqResultDatum& datum) {
|
||||
}
|
||||
|
||||
static void validateBurstSanitized(const sp<IPreparedModel>& preparedModel,
|
||||
const std::vector<Request>& requests) {
|
||||
const Request& request) {
|
||||
// create burst
|
||||
std::unique_ptr<RequestChannelSender> sender;
|
||||
std::unique_ptr<ResultChannelReceiver> receiver;
|
||||
@@ -372,26 +372,23 @@ static void validateBurstSanitized(const sp<IPreparedModel>& preparedModel,
|
||||
ASSERT_NE(nullptr, receiver.get());
|
||||
ASSERT_NE(nullptr, context.get());
|
||||
|
||||
// validate each request
|
||||
for (const Request& request : requests) {
|
||||
// load memory into callback slots
|
||||
std::vector<intptr_t> keys;
|
||||
keys.reserve(request.pools.size());
|
||||
std::transform(request.pools.begin(), request.pools.end(), std::back_inserter(keys),
|
||||
[](const auto& pool) { return reinterpret_cast<intptr_t>(&pool); });
|
||||
const std::vector<int32_t> slots = callback->getSlots(request.pools, keys);
|
||||
// load memory into callback slots
|
||||
std::vector<intptr_t> keys;
|
||||
keys.reserve(request.pools.size());
|
||||
std::transform(request.pools.begin(), request.pools.end(), std::back_inserter(keys),
|
||||
[](const auto& pool) { return reinterpret_cast<intptr_t>(&pool); });
|
||||
const std::vector<int32_t> slots = callback->getSlots(request.pools, keys);
|
||||
|
||||
// send valid request
|
||||
ASSERT_TRUE(sender->send(request, MeasureTiming::YES, slots));
|
||||
// send valid request
|
||||
ASSERT_TRUE(sender->send(request, MeasureTiming::YES, slots));
|
||||
|
||||
// receive valid result
|
||||
auto serialized = receiver->getPacketBlocking();
|
||||
ASSERT_TRUE(serialized.has_value());
|
||||
// receive valid result
|
||||
auto serialized = receiver->getPacketBlocking();
|
||||
ASSERT_TRUE(serialized.has_value());
|
||||
|
||||
// sanitize result
|
||||
ASSERT_TRUE(std::all_of(serialized->begin(), serialized->end(), isSanitized))
|
||||
<< "The result serialized data is not properly sanitized";
|
||||
}
|
||||
// sanitize result
|
||||
ASSERT_TRUE(std::all_of(serialized->begin(), serialized->end(), isSanitized))
|
||||
<< "The result serialized data is not properly sanitized";
|
||||
}
|
||||
|
||||
///////////////////////////// ENTRY POINT //////////////////////////////////
|
||||
@@ -400,7 +397,7 @@ void ValidationTest::validateBurst(const sp<IPreparedModel>& preparedModel,
|
||||
const Request& request) {
|
||||
ASSERT_NO_FATAL_FAILURE(validateBurstSerialization(preparedModel, request));
|
||||
ASSERT_NO_FATAL_FAILURE(validateBurstFmqLength(preparedModel, request));
|
||||
ASSERT_NO_FATAL_FAILURE(validateBurstSanitized(preparedModel, requests));
|
||||
ASSERT_NO_FATAL_FAILURE(validateBurstSanitized(preparedModel, request));
|
||||
}
|
||||
|
||||
} // namespace functional
|
||||
|
||||
Reference in New Issue
Block a user