IVGCVSW-2535 Fix crash in ExecuteNetwork when no compute device is specified
Change-Id: If8d6516286557a6381561805cd53b5659b38f6a6
diff --git a/tests/ExecuteNetwork/ExecuteNetwork.cpp b/tests/ExecuteNetwork/ExecuteNetwork.cpp
index 7d6aafc..dd76975 100644
--- a/tests/ExecuteNetwork/ExecuteNetwork.cpp
+++ b/tests/ExecuteNetwork/ExecuteNetwork.cpp
@@ -588,8 +588,11 @@
}
else // Run single test
{
- // Get the preferred order of compute devices.
- std::vector<std::string> computeDevicesAsStrings = vm["compute"].as<std::vector<std::string>>();
+ // Get the preferred order of compute devices. If none are specified, default to using CpuRef
+ const std::string computeOption("compute");
+ std::vector<std::string> computeDevicesAsStrings = CheckOption(vm, computeOption.c_str()) ?
+ vm[computeOption].as<std::vector<std::string>>() :
+ std::vector<std::string>({ "CpuRef" });
std::vector<armnn::BackendId> computeDevices(computeDevicesAsStrings.begin(), computeDevicesAsStrings.end());
// Remove duplicates from the list of compute devices.