From c89829f1f47855227f9a842c979f3a43800ea826 Mon Sep 17 00:00:00 2001 From: James Ward Date: Mon, 12 Oct 2020 14:17:36 +0100 Subject: IVGCVSW-5280 Switch tests/InferenceTest and derived tests over to cxxopts * refactor AddCommandLineOptions() functions to allow checking of required options * add CxxoptsUtils.hpp file for convenience functions !referencetests:268500 Signed-off-by: James Ward Change-Id: Ica954b210b2981b7cd10995f0d75fcb2a2f7b443 --- tests/DeepSpeechV1InferenceTest.hpp | 45 +++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'tests/DeepSpeechV1InferenceTest.hpp') diff --git a/tests/DeepSpeechV1InferenceTest.hpp b/tests/DeepSpeechV1InferenceTest.hpp index d859ba7505..ac799cb45a 100644 --- a/tests/DeepSpeechV1InferenceTest.hpp +++ b/tests/DeepSpeechV1InferenceTest.hpp @@ -99,31 +99,28 @@ public: : m_ConstructModel(constructModel) {} - virtual void AddCommandLineOptions(boost::program_options::options_description& options) override + virtual void AddCommandLineOptions(cxxopts::Options& options, std::vector& required) override { - namespace po = boost::program_options; - - options.add_options() - ("input-seq-dir,s", po::value(&m_InputSeqDir)->required(), - "Path to directory containing test data for m_InputSeq"); - options.add_options() - ("prev-state-h-dir,h", po::value(&m_PrevStateHDir)->required(), - "Path to directory containing test data for m_PrevStateH"); - options.add_options() - ("prev-state-c-dir,c", po::value(&m_PrevStateCDir)->required(), - "Path to directory containing test data for m_PrevStateC"); - options.add_options() - ("logits-dir,l", po::value(&m_LogitsDir)->required(), - "Path to directory containing test data for m_Logits"); - options.add_options() - ("new-state-h-dir,H", po::value(&m_NewStateHDir)->required(), - "Path to directory containing test data for m_NewStateH"); - options.add_options() - ("new-state-c-dir,C", po::value(&m_NewStateCDir)->required(), - "Path to directory containing test data for m_NewStateC"); - - - Model::AddCommandLineOptions(options, m_ModelCommandLineOptions); + options + .allow_unrecognised_options() + .add_options() + ("s,input-seq-dir", "Path to directory containing test data for m_InputSeq", + cxxopts::value(m_InputSeqDir)) + ("h,prev-state-h-dir", "Path to directory containing test data for m_PrevStateH", + cxxopts::value(m_PrevStateHDir)) + ("c,prev-state-c-dir", "Path to directory containing test data for m_PrevStateC", + cxxopts::value(m_PrevStateCDir)) + ("l,logits-dir", "Path to directory containing test data for m_Logits", + cxxopts::value(m_LogitsDir)) + ("H,new-state-h-dir", "Path to directory containing test data for m_NewStateH", + cxxopts::value(m_NewStateHDir)) + ("C,new-state-c-dir", "Path to directory containing test data for m_NewStateC", + cxxopts::value(m_NewStateCDir)); + + required.insert(required.end(), {"input-seq-dir", "prev-state-h-dir", "prev-state-c-dir", "logits-dir", + "new-state-h-dir", "new-state-c-dir"}); + + Model::AddCommandLineOptions(options, m_ModelCommandLineOptions, required); } virtual bool ProcessCommandLineOptions(const InferenceTestOptions &commonOptions) override -- cgit v1.2.1