diff options
-rw-r--r-- | reference_model/src/main.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/reference_model/src/main.cpp b/reference_model/src/main.cpp index 3b84ff8..a0b97c1 100644 --- a/reference_model/src/main.cpp +++ b/reference_model/src/main.cpp @@ -1,5 +1,5 @@ -// Copyright (c) 2020-2023, ARM Limited. +// Copyright (c) 2020-2024, ARM Limited. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -573,14 +573,30 @@ int initTestDesc(json& test_desc) } else { - WARNING("Cannot open input file: %s", g_func_config.test_desc.c_str()); - return 1; + // Users can also specify description info using command line arguments + // If they miss any info from command line AND no test_desc is provided, + // return error code + if (g_func_config.tosa_file.empty() || g_func_config.ifm_name.empty() || g_func_config.ifm_file.empty() || + g_func_config.ofm_name.empty() || g_func_config.ofm_file.empty()) + { + WARNING("Cannot open input file: %s", g_func_config.test_desc.c_str()); + return 1; + } } // Overwrite flatbuffer_dir/output_dir with dirname(g_func_config.test_desc) if it's not specified. if (g_func_config.flatbuffer_dir.empty() || g_func_config.output_dir.empty()) { - std::string test_dir = g_func_config.test_desc.substr(0, g_func_config.test_desc.find_last_of("/\\")); + auto slash_pos = g_func_config.test_desc.find_last_of("/\\"); + std::string test_dir; + if (slash_pos != std::string::npos) + { + test_dir = g_func_config.test_desc.substr(0, slash_pos); + } + else + { + test_dir = std::string("."); + } if (g_func_config.flatbuffer_dir.empty()) { g_func_config.flatbuffer_dir = test_dir; |