Fix use-after-free error in NNAPI VTS tests am: 56cda83f8c
am: 0854f5f759
am: 5f688eb948
Change-Id: Ibea07442f2d230caef39f6a3f73e3acf40f5cf00
This commit is contained in:
commit
af5fc2374d
2 changed files with 13 additions and 13 deletions
|
@ -29,13 +29,14 @@
|
|||
#include <android/hardware/neuralnetworks/1.2/IPreparedModelCallback.h>
|
||||
#include <android/hidl/allocator/1.0/IAllocator.h>
|
||||
#include <android/hidl/memory/1.0/IMemory.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hidlmemory/mapping.h>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <algorithm>
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
#include <numeric>
|
||||
#include <vector>
|
||||
|
||||
#include "1.0/Utils.h"
|
||||
#include "1.2/Callbacks.h"
|
||||
|
@ -333,9 +334,9 @@ void EvaluatePreparedModel(const sp<IPreparedModel>& preparedModel, const TestMo
|
|||
|
||||
void EvaluatePreparedModel(const sp<IPreparedModel>& preparedModel, const TestModel& testModel,
|
||||
bool testDynamicOutputShape) {
|
||||
std::initializer_list<OutputType> outputTypesList;
|
||||
std::initializer_list<MeasureTiming> measureTimingList;
|
||||
std::initializer_list<Executor> executorList;
|
||||
std::vector<OutputType> outputTypesList;
|
||||
std::vector<MeasureTiming> measureTimingList;
|
||||
std::vector<Executor> executorList;
|
||||
|
||||
if (testDynamicOutputShape) {
|
||||
outputTypesList = {OutputType::UNSPECIFIED, OutputType::INSUFFICIENT};
|
||||
|
|
|
@ -34,13 +34,14 @@
|
|||
#include <android/hardware/neuralnetworks/1.3/types.h>
|
||||
#include <android/hidl/allocator/1.0/IAllocator.h>
|
||||
#include <android/hidl/memory/1.0/IMemory.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hidlmemory/mapping.h>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <algorithm>
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
#include <numeric>
|
||||
#include <vector>
|
||||
|
||||
#include "1.0/Utils.h"
|
||||
#include "1.2/Callbacks.h"
|
||||
|
@ -368,9 +369,9 @@ void EvaluatePreparedModel(const sp<IPreparedModel>& preparedModel, const TestMo
|
|||
|
||||
void EvaluatePreparedModel(const sp<IPreparedModel>& preparedModel, const TestModel& testModel,
|
||||
TestKind testKind) {
|
||||
std::initializer_list<OutputType> outputTypesList;
|
||||
std::initializer_list<MeasureTiming> measureTimingList;
|
||||
std::initializer_list<Executor> executorList;
|
||||
std::vector<OutputType> outputTypesList;
|
||||
std::vector<MeasureTiming> measureTimingList;
|
||||
std::vector<Executor> executorList;
|
||||
|
||||
switch (testKind) {
|
||||
case TestKind::GENERAL: {
|
||||
|
@ -403,11 +404,9 @@ void EvaluatePreparedCoupledModels(const sp<IPreparedModel>& preparedModel,
|
|||
const TestModel& testModel,
|
||||
const sp<IPreparedModel>& preparedCoupledModel,
|
||||
const TestModel& coupledModel) {
|
||||
std::initializer_list<OutputType> outputTypesList = {OutputType::FULLY_SPECIFIED};
|
||||
std::initializer_list<MeasureTiming> measureTimingList = {MeasureTiming::NO,
|
||||
MeasureTiming::YES};
|
||||
std::initializer_list<Executor> executorList = {Executor::ASYNC, Executor::SYNC,
|
||||
Executor::BURST};
|
||||
const std::vector<OutputType> outputTypesList = {OutputType::FULLY_SPECIFIED};
|
||||
const std::vector<MeasureTiming> measureTimingList = {MeasureTiming::NO, MeasureTiming::YES};
|
||||
const std::vector<Executor> executorList = {Executor::ASYNC, Executor::SYNC, Executor::BURST};
|
||||
|
||||
for (const OutputType outputType : outputTypesList) {
|
||||
for (const MeasureTiming measureTiming : measureTimingList) {
|
||||
|
|
Loading…
Reference in a new issue