fixed validation in network_utils, added a tests to throw for port 65535 in test mode (option on for sls_use_tests), multi:parent process checks child process exit status to send sigint to others

This commit is contained in:
2025-07-11 10:38:00 +02:00
parent 1bf3d5e67a
commit 2698087efa
4 changed files with 15 additions and 7 deletions

View File

@@ -52,6 +52,10 @@ target_link_libraries(slsReceiverObject
slsProjectWarnings #don't propagate warnigns
)
target_compile_definitions(slsReceiverObject
PRIVATE $<$<BOOL:${SLS_USE_TESTS}>:SLS_USE_TESTS>
)
# HDF5
if (SLS_USE_HDF5)
if (HDF5_FOUND)
@@ -87,6 +91,7 @@ set_target_properties(slsReceiverStatic PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}"
)
list(APPEND RECEIVER_LIBRARY_TARGETS slsReceiverStatic)

View File

@@ -254,7 +254,6 @@ int main(int argc, char *argv[]) {
std::cerr << "Child " << childPid << " failed\n";
kill(0, SIGINT); // signal other children to exit
}
}
std::cout << "Goodbye!\n";

View File

@@ -29,6 +29,11 @@ Receiver::~Receiver() = default;
Receiver::Receiver(uint16_t port) {
validatePortNumber(port);
#ifdef SLS_USE_TESTS
if (port == 65535) {
throw sls::RuntimeError("Throwing for testing purposes. ");
}
#endif
tcpipInterface = make_unique<ClientInterface>(port);
}