Commit graph

131 commits

Author SHA1 Message Date
eboasson
970680468c
Merge pull request #34 from k0ekk0ek/cunit
Cleanup and CUnit integration and add support for theories and fixtures
2018-11-08 17:31:16 +01:00
Jeroen Koekkoek
f56eccf6a6 Fix exit codes returned by CUnit test runner
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-08 11:51:54 +01:00
Jeroen Koekkoek
217def362c Fix location of generated header for CUnit based tests
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-08 09:42:14 +01:00
Jeroen Koekkoek
c903fee0c9 Extend strcasecmp tests and convert them to theories
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-08 09:42:02 +01:00
Jeroen Koekkoek
94722a642e Make cast from CU_ErrorCode to int in CUnit test runner main explicit
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-08 09:41:57 +01:00
Jeroen Koekkoek
6171d44b62 Add -Wno-missing-field-initializers to COMPILE_FLAGS property on test source files
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-08 09:41:42 +01:00
eboasson
1bd4d9507c
Merge pull request #39 from eboasson/master
Fix spinning of receive threads on Windows
2018-11-06 11:17:39 +01:00
Erik Boasson
263a9b30a3 Do not consider loopback on Windows multicast-capable
Tests with network interface set to 127.0.0.1 don't see any multicasts
despite multicast loopback being enabled.  It therefore seems the
multicast flag on the loopback interface on Windows is at least
unreliable, and so the safest course of action is to disable multicast
by default on that interface.

Internal/AssumeMulticastCapable can still be used to override this and
enable multicasting anyway.

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-11-06 09:32:28 +01:00
Erik Boasson
8ba218dca8 dissociate WSAEvent from sockets handled on dedicated threads
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-11-05 16:00:41 +01:00
eboasson
6da0d9a0dd
Merge pull request #36 from eboasson/windows-time
Use GetSystemTimePreciseAsFileTime
2018-11-05 12:10:13 +01:00
Erik Boasson
d05b0a4d13 Use GetSystemTimePreciseAsFileTime
When building for Windows 8 or later, use
GetSystemTimePreciseAsFileTime, otherwise do a run-time lookup of that
function and fall back to GetSystemTimeAsFileTime if it doesn't exist.

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-11-05 08:56:20 +01:00
Jeroen Koekkoek
599bf311cf Fix Windows issues with CUnit fixture initialization
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-02 14:37:43 +01:00
Jeroen Koekkoek
ecaf72c003 Fix test registration on macOS
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-02 13:27:15 +01:00
Jeroen Koekkoek
630178fb12 Cleanup CUnit integration and add support for theories
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-01 19:32:24 +01:00
eboasson
6e1df4c564
Merge pull request #20 from k0ekk0ek/getifaddrs
Replace os_sockQueryInterfaces by os_getifaddrs
2018-10-25 23:11:03 +08:00
Jeroen Koekkoek
8fc9535316 Terminate address filter with OS_AF_NULL instead of 0 (AF_UNSPEC)
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 22:32:27 +02:00
Jeroen Koekkoek
40b7b5f423 Copy socket address regardless of interface state
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 19:33:51 +02:00
Jeroen Koekkoek
4b3c6ed643 Fix warning caused by assert on parameter required to be nonnull
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 16:53:12 +02:00
Jeroen Koekkoek
961706bb48 Replace NULL address family filter by supported address families
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 16:31:43 +02:00
Jeroen Koekkoek
25198e565b Rename os_sockaddr_size to os_sockaddr_get_size for consitency
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 15:53:29 +02:00
Jeroen Koekkoek
0324f36dd2 Disable IPv6 interface tests if IPv6 is not available at runtime
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 00:13:16 +02:00
eboasson
7ce02bdaa5
Merge pull request #29 from k0ekk0ek/conan-cunit
Use Conan recipe from Bincrafters for CUnit
2018-10-20 11:55:38 +08:00
Jeroen Koekkoek
3f55210e30 Use Conan recipe from Bincrafters for CUnit
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 18:30:43 +02:00
Jeroen Koekkoek
fbde1ba5b8 Do not stop interface iteration if address is NULL
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:50:13 +02:00
Jeroen Koekkoek
a9e160ec07 Update API documentation for modified socket address functions
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:35:08 +02:00
Jeroen Koekkoek
6b41dada9d Fix compiler warnings
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:35:08 +02:00
Jeroen Koekkoek
6867f949cd Add extra os_getifaddrs test cases
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:35:08 +02:00
Jeroen Koekkoek
03c081fa18 Simplify os_getifaddrs operation for POSIX platforms
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:30:33 +02:00
Jeroen Koekkoek
7ba3bca087 Change socket function signatures to use os_sockaddr
* Consolidated and cleaned up some (duplicate) functions.
* Removed some unused functions that did not make sense to keep around.

Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:00:15 +02:00
Jeroen Koekkoek
ea3f5e7ff4 Disable AF_PACKET interfaces for all platforms but Linux
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 16:58:40 +02:00
Jeroen Koekkoek
458b1df3f7 Replace os_sockQueryInterfaces by os_getifaddrs
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 16:58:40 +02:00
Jeroen Koekkoek
2fc4cac1a7 Consolidate some duplicate functions
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 16:58:40 +02:00
eboasson
2cee550f6f
Merge pull request #24 from eboasson/fix
More sensible domain id handling; stopping throughput publisher
2018-10-18 21:59:00 +08:00
Erik Boasson
d1c5cd9b57 set ^C handler just before writing samples and rely on default action to terminate the process when waiting a matching subscriber
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-14 14:02:47 +08:00
Erik Boasson
bb92294f4e Let dds_create_participant determine domain id if config specifies "any" (new default)
Note: DDS_DOMAIN_DEFAULT with a configuration specifying "any" results in domain 0.
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-14 14:02:47 +08:00
Benjamin Cabé
675fbfe013 Update README.md with proper project name.
Signed-off-by: Benjamin Cabé <benjamin.cabe@eclipse-foundation.org>
2018-09-25 11:06:04 +02:00
Erik Boasson
feb5ba647e handle threads stopping while trying to get a stack trace
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
30fe3dc803 disable multicast when selected interface doesn't support it
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
5edd55bc64 when closing trace file check for stdout or stderr
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
d76a537bb6 explicitly initialising all fields of struct msghdr instead of memset saves a noticeable amount of time
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
4f0b9cb471 improve performance by allowing multiple receive threads and avoiding multiplexing I/O
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
508d56b427 should not reschedule SPDP event if there is no SPDP writer
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
40f046ea3a switch to reporting (one-way) latency instead of round-trip times
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
098378cd89 fix roundtrip cleanup code trying to delete non-existent entities
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
e040d61246 transmit path should use unicast socket
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
cf754b0141 add one final trace line after DDSI stack shuts down
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
0873f4a401 use kqueue for input multiplexing on macOS
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
48d770d40f return false instead of crashing when invalid addresses are passed to ddsi_is_mcaddr/ddsi_is_ssm_mcaddr
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
bb8d3d808c remove some memsets for unnecessarily clearing padding
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
e84e644702 remove unused global mutex
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00