Skip to content

Commit 93423f6

Browse files
someipd config at startup is mandatory
1 parent 2824124 commit 93423f6

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

deployment/qemu/run_qemu1_manual.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ if [[ "${START_SERVICES}" == "true" ]]; then
4949

5050
echo "Starting someipd..."
5151
ssh ${SSH_OPTS} -f ${SSH_USER}@${GUEST_IP} \
52-
"export VSOMEIP_CONFIGURATION=/etc/someipd/vsomeip.json; /usr/bin/someipd --service_instance_manifest /etc/someipd/mw_com_config.json > /dev/null 2>&1"
52+
"export VSOMEIP_CONFIGURATION=/etc/someipd/vsomeip.json; /usr/bin/someipd -someipd_config /etc/someipd/someipd_config.json --service_instance_manifest /etc/someipd/mw_com_config.json > /dev/null 2>&1"
5353
sleep 2
5454

5555
echo "Services started on QEMU 1 (${GUEST_IP}). Dropping into SSH shell..."

src/someipd/main.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <iostream>
1818
#include <set>
1919
#include <thread>
20+
#include <cstdlib>
2021
#include <vsomeip/defines.hpp>
2122
#include <vsomeip/primitive_types.hpp>
2223
#include <vsomeip/vsomeip.hpp>
@@ -48,29 +49,33 @@ int main(int argc, const char* argv[]) {
4849
std::signal(SIGTERM, termination_handler);
4950
std::signal(SIGINT, termination_handler);
5051

51-
std::string someipd_config_path = "etc/someipd_config.json";
52+
std::optional<std::string_view> someipd_config_path;
53+
5254
for (int i = 1; i < argc - 1; ++i) {
53-
if (std::string(argv[i]) == "-someipd_config") {
55+
if (std::string_view{argv[i]} == "-someipd_config") {
5456
someipd_config_path = argv[i + 1];
5557
break;
5658
}
5759
}
5860

61+
if (!someipd_config_path.has_value()) {
62+
std::cerr << "Mandatory argument '-someipd_config' is missing.\n";
63+
return EXIT_FAILURE;
64+
}
65+
5966
SomeipDConfig config{};
6067
try {
61-
config = score::someip_gateway::someipd::ReadSomeipDConfig(someipd_config_path);
68+
config = score::someip_gateway::someipd::ReadSomeipDConfig(std::string(someipd_config_path.value()));
6269
} catch (const std::exception& ex) {
63-
std::cerr << "Failed to load someipd config: " << ex.what() << std::endl;
64-
return 1;
70+
std::cerr << "Failed to load someipd config: " << ex.what() << '\n';
71+
return EXIT_FAILURE;
6572
}
66-
6773
score::mw::com::runtime::InitializeRuntime(argc, argv);
68-
6974
auto runtime = vsomeip::runtime::get();
7075
auto application = runtime->create_application("someipd");
7176
if (!application->init()) {
7277
std::cerr << "App init failed";
73-
return 1;
78+
return EXIT_FAILURE;
7479
}
7580

7681
std::thread([application, config]() {

tests/integration/someip_integration.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@
6868
)
6969
SOMEIPD_CMD = (
7070
"export VSOMEIP_CONFIGURATION=/etc/someipd/vsomeip.json && "
71-
"/usr/bin/someipd --service_instance_manifest /etc/someipd/mw_com_config.json"
71+
"/usr/bin/someipd -someipd_config /etc/someipd/someipd_config.json "
72+
"--service_instance_manifest /etc/someipd/mw_com_config.json"
7273
)
7374
SAMPLE_CLIENT_CMD = (
7475
"export VSOMEIP_CONFIGURATION=/etc/sample_client/vsomeip.json && "

0 commit comments

Comments
 (0)