blob: 9d1fca483f2361b46491a5e4972dc8feaa1ca658 [file] [log] [blame]
/*
* Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef REMOTE_TEST_RUNNER_H
#define REMOTE_TEST_RUNNER_H
#include <service/test_runner/client/cpp/test_runner_client.h>
#include <service/test_runner/common/test_runner.h>
/*
* Provides a command line interface for running remote tests.
*/
class remote_test_runner
{
public:
remote_test_runner();
remote_test_runner(test_runner_client *client);
virtual ~remote_test_runner();
void set_client(test_runner_client *client);
int execute(int argc, char *argv[]);
private:
void parse_test_spec_params(int argc, char *argv[], struct test_spec &spec) const;
std::string parse_option(const char *option_switch, int argc, char *argv[]) const;
bool option_selected(const char *option_switch, int argc, char *argv[]) const;
void output_summary(const struct test_summary &summary);
void output_list(const struct test_summary &summary, const std::vector<struct test_result> &results);
void output_results(const struct test_summary &summary, const std::vector<struct test_result> &results);
test_runner_client *m_client;
};
#endif /* REMOTE_TEST_RUNNER_H */