1 /* 2 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef REMOTE_TEST_RUNNER_H 8 #define REMOTE_TEST_RUNNER_H 9 10 #include <service/test_runner/client/cpp/test_runner_client.h> 11 #include <service/test_runner/common/test_runner.h> 12 13 /* 14 * Provides a command line interface for running remote tests. 15 */ 16 class remote_test_runner 17 { 18 public: 19 remote_test_runner(); 20 remote_test_runner(test_runner_client *client); 21 virtual ~remote_test_runner(); 22 23 void set_client(test_runner_client *client); 24 25 int execute(int argc, char *argv[]); 26 27 private: 28 29 void parse_test_spec_params(int argc, char *argv[], struct test_spec &spec) const; 30 std::string parse_option(const char *option_switch, int argc, char *argv[]) const; 31 bool option_selected(const char *option_switch, int argc, char *argv[]) const; 32 33 void output_summary(const struct test_summary &summary); 34 void output_list(const struct test_summary &summary, const std::vector<struct test_result> &results); 35 void output_results(const struct test_summary &summary, const std::vector<struct test_result> &results); 36 37 test_runner_client *m_client; 38 }; 39 40 #endif /* REMOTE_TEST_RUNNER_H */ 41