blob: 6240dfb95bdece7d0177be27a28162f10bc47143 [file] [log] [blame]
// SPDX-License-Identifier: BSD-2-Clause
/*
* Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
*/
#include <service/test_runner/client/cpp/test_runner_client.h>
#include <app/remote-test-runner/remote_test_runner.h>
#include <protocols/rpc/common/packed-c/encoding.h>
#include <service_locator.h>
#include <rpc_caller.h>
#include <cstdio>
int main(int argc, char *argv[]) {
(void) argc;
(void) argv;
int status = -1;
struct service_context *test_runner_service_context = NULL;
service_locator_init();
test_runner_service_context = service_locator_query("sn:trustedfirmware.org:test-runner:0");
if (test_runner_service_context) {
struct rpc_caller_session *session = NULL;
session = service_context_open(test_runner_service_context);
if (session) {
test_runner_client test_runner_client(session);
remote_test_runner commandline_runner(&test_runner_client);
status = commandline_runner.execute(argc, argv);
if (status != 0) {
printf("Command failed with test status: %d rpc status: %d\n", status, test_runner_client.err_rpc_status());
}
service_context_close(test_runner_service_context, session);
}
else {
printf("Failed to open rpc session\n");
}
service_context_relinquish(test_runner_service_context);
}
else {
printf("Failed to discover test_runner service\n");
}
return status;
}