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.