21 Commits
Author SHA1 Message Date
Andreas Ebner 918f2cfd4b fix(docs): typos in comments, docs and messages
Fix misspellings found with codespell across headers, sources, examples,
tests and the documentation, including "propably" in the nodeset
compiler docs. Identifiers, companion spec names and generated code are
left untouched.
2026-09-28 16:20:44 +02:00
Julius Pfrommer 335cead676 test(mt): synchronize remaining threaded fixture state
Use pointer-sized atomic run flags in threaded fixtures, including dynamically
allocated discovery and browse flags. Pointer sizing supports the MSVC atomic
implementation as well as C11 and GCC atomics.

Serialize the client error-injection test with the server network callbacks
before accessing the internal session and shared send buffer.
2026-09-21 16:23:09 +02:00
Julius Pfrommer 58ed00f074 Merge origin/1.5 into master
Preserve master XML and node-management behavior, adapt regression tests to the driver and built-in NodeSet loader APIs, and extend compatibility with older Check releases.
2026-09-06 22:55:12 +02:00
Julius Pfrommer 209004d9c1 fix(test): make shutdown regression portable across CI toolchains 2026-09-06 22:29:11 +02:00
Julius Pfrommer 9f3fcdc578 fix(server): release the server lock while waiting for shutdown
External event-loop callbacks may need the server mutex to finish stopping components or event sources. Release the mutex around both shutdown iterations, matching the existing unlocked preliminary iteration.

Add bounded, cross-thread regression tests for both waiting loops. Each callback calls a public server API that acquires the server mutex. The tests fail on unpatched 1.5 and pass with the fix, without an Asio dependency.
2026-09-06 22:29:11 +02:00
Julius Pfrommer f99c02891e feat(server): Add early node constructors
Add global and type-specific lifecycle callbacks that run after defining references are installed but before mandatory children are instantiated. This lets applications precreate or customize children consistently for direct, namespace-zero and recursively instantiated nodes.
2026-08-04 16:18:39 +02:00
Andreas Ebner 96ea2b301f fix(tests): handle concurrent delete race in check_mt_addDeleteObject
The server_deleteObject() function needs to handle concurrent scenarios where
client threads try to delete nodes while worker threads are creating them.

The original code used an infinite loop waiting for UA_STATUSCODE_GOOD, which
hung when nodes returned BADNODEIDUNKNOWN (deleted during construction or not yet created).

Changed to retry up to 100 times with 10ms sleep between attempts when getting
BADNODEIDUNKNOWN. This provides proper synchronization (max 1 second wait) for racing
add operations to complete, especially important under valgrind where operations are slower.

The loop exits immediately on UA_STATUSCODE_GOOD (successful delete). After retries,
accepts both GOOD and BADNODEIDUNKNOWN (node deleted during construction or add failed)
as valid outcomes.
2026-02-13 07:23:53 +01:00
Julius Pfrommer 7525d12270 refactor(tests): Speed up the multithreading tests 2025-05-20 14:32:45 +02:00
Julius Pfrommer 7f81b5e547 refactor(arch): Remove UA_REUSEADDR option -- handle in the global test server constructor 2024-03-22 11:20:20 +01:00
Julius Pfrommer dd300f3eff refactor(tests): Set a custom "fake" clock in the EventLoop for unit tests 2023-10-04 10:56:26 +02:00
Julius Pfrommer 390c092c05 refactor(tests): Include stdlib.h where open62541 no longer does it 2023-07-28 21:42:56 +02:00
Julius Pfrommer 928931ec36 refactor(core): Move architecture-specific definition out of the public headers 2023-07-28 21:42:56 +02:00
Andreas Eckerstorfer 022ad60723 fix (tests): Check server instance in UNIT tests
Failed UNIT tests caused an exception in the server loop, if the
server instance could not be created.
2023-01-31 00:07:18 +01:00
Julius Pfrommer d4b4116907 refactor(test): Simplify the multithreaded unit test logic 2022-08-05 09:13:05 +02:00
Alexander Bluhm 0f65d100fe test(core): fix more sign-conversion compiler errors 2022-07-06 00:44:44 +02:00
Andreas Eckerstorfer 13af9b8688 refactor(core): Remove trailing spaces in code (#5221) 2022-06-24 11:03:25 +02:00
Julius Pfrommer f748151b06 refactor(tests): Use only standard printf integer types 2022-03-27 10:56:27 +02:00
Julius Pfrommer beeafc02e9 refactor(core): Better type-safety for locking primitives 2021-01-05 23:04:23 +01:00
Julius Pfrommer 7c23332027 refactor(test): Use _clear instead of _deleteMembers 2020-10-18 15:21:40 +02:00
Ubuntu cbf26d66ed fix(multithreading): Fix tests for windows 2019-09-10 07:41:05 +02:00
Ubuntu be4330cc40 test(server): Add multithreading tests 2019-08-19 23:36:03 +02:00