blob: 43ca70380809092b60fc3a1b4717b3b446c83228 [file] [log] [blame]
Julian Halld4071382021-07-07 16:45:53 +01001/*
2 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <stdint.h>
Julian Hall04460402021-07-08 17:40:57 +01008#include <stdbool.h>
Julian Halld4071382021-07-07 16:45:53 +01009#include <stdio.h>
Julian Hall04460402021-07-08 17:40:57 +010010#include <string.h>
Julian Halld4071382021-07-07 16:45:53 +010011#include <service_locator.h>
Julian Hall04460402021-07-08 17:40:57 +010012#include <rpc/common/logging/logging_caller.h>
Julian Halld4071382021-07-07 16:45:53 +010013#include "service_under_test.h"
14
15int32_t val_entry(void);
16
Julian Hall04460402021-07-08 17:40:57 +010017static bool option_selected(const char *option_switch, int argc, char *argv[])
18{
19 bool selected = false;
20
21 for (int i = 1; (i < argc) && !selected; ++i) {
22
23 selected = (strcmp(argv[i], option_switch) == 0);
24 }
25
26 return selected;
27}
28
Julian Halld4071382021-07-07 16:45:53 +010029int main(int argc, char *argv[])
30{
31 int rval = -1;
Julian Hall04460402021-07-08 17:40:57 +010032 struct logging_caller *selected_call_logger = NULL;
33 struct logging_caller call_logger;
Julian Halld4071382021-07-07 16:45:53 +010034
Julian Hall04460402021-07-08 17:40:57 +010035 logging_caller_init(&call_logger, stdout);
Julian Halld4071382021-07-07 16:45:53 +010036 service_locator_init();
37
Julian Hall04460402021-07-08 17:40:57 +010038 /* Check command line options */
39 if (option_selected("-l", argc, argv)) selected_call_logger = &call_logger;
Julian Halld4071382021-07-07 16:45:53 +010040
Julian Hall04460402021-07-08 17:40:57 +010041 /* Locate service under test */
42 rval = locate_service_under_test(selected_call_logger);
43
44 /* Run tests */
Julian Halld4071382021-07-07 16:45:53 +010045 if (!rval) {
46
47 rval = val_entry();
48
49 relinquish_service_under_test();
50 }
51 else {
52
53 printf("Failed to locate service under test. Error code: %d\n", rval);
54 }
55
Julian Hall04460402021-07-08 17:40:57 +010056 logging_caller_deinit(&call_logger);
57
Julian Halld4071382021-07-07 16:45:53 +010058 return rval;
59}