Functional and integration tests that verify correctness of every layer —
from raw io_uring events up to full GObj protocol stacks.
All tests are registered as ctest targets and run automatically with
yunetas test.
Source: tests/c/
# Run the full suite
yunetas test
# Run a single test by name
ctest -R test_c_timer --output-on-failure --test-dir build
# Run ctest in a loop until first failure (flaky-test detection)
./ctest-loop.shEvent loop (yev_loop)¶
Low-level tests for the io_uring event loop, without the GObj layer.
| Binary | Description |
|---|---|
test_yevent_listen1–4 | Server creates a listen socket and accepts one client connection. |
test_yevent_connect1–2 | Client connects to a listening server; verifies the connection succeeds. |
test_yevent_traffic1–6 | Client ↔ server message echo over plain TCP (multiple variants). |
test_yevent_udp_traffic1 | UDP message echo. |
test_yevent_traffic_secure1 | TLS-encrypted TCP message echo. |
test_yevent_timer_once1–2 | One-shot timer expiration. |
test_yevent_timer_periodic1 | Periodic (recurring) timer. |
Source: tests/c/yev_loop/yev_events/, tests/c/yev_loop/yev_events_tls/
Timers¶
| Binary | Description |
|---|---|
test_c_timer | C_TIMER GClass — periodic timeout operations. |
test_c_timer0 | C_TIMER0 GClass — basic (low-level) timer. |
Source: tests/c/c_timer/, tests/c/c_timer0/
TCP networking¶
Plain and TLS TCP through the full GObj protocol stack.
| Binary | Description |
|---|---|
test_c_tcp test1–4 | Plain TCP: connect, disconnect, echo, and rapid multi-message burst. |
test_c_tcp2 test1–4 | Same scenarios using the newer C_TCP_S method (no child_tree_filter). |
test_c_tcps test1–4 | TLS TCP: connect, disconnect, echo, and multi-message burst. |
test_c_tcps2 test1–4 | TLS TCP with the newer method. |
Source: tests/c/c_tcp/, tests/c/c_tcp2/, tests/c/c_tcps/, tests/c/c_tcps2/
MQTT¶
| Binary | Description |
|---|---|
test_c_mqtt test1 | Self-contained broker + client: subscribe, publish QoS 0, verify reception, disconnect. |
Source: tests/c/c_mqtt/
Subscriptions & link events¶
| Binary | Description |
|---|---|
test_subscriptions test1–2 | GObj event subscribe / unsubscribe lifecycle. |
test_c_node_link_events | EV_TREEDB_NODE_LINKED / UNLINKED events at the C_NODE GClass level. |
test_tr_treedb_link_events | Low-level link/unlink callback mechanism in tr_treedb. |
Source: tests/c/c_subscriptions/, tests/c/c_node_link_events/,
tests/c/tr_treedb_link_events/
Timeranger2 persistence¶
| Binary | Description |
|---|---|
test_tranger_startup | Database initialization and startup. |
test_topic_pkey_integer | Open topic as master, manage runtime lists, append records with integer keys. |
test_topic_pkey_integer_iterator | Iterator without callbacks over integer-key data. |
test_topic_pkey_integer_iterator2 | Iterator with per-key callbacks and time-based matching. |
test_topic_pkey_integer_iterator3 | Absolute-position searches. |
test_topic_pkey_integer_iterator4 | Relative-position searches. |
test_topic_pkey_integer_iterator5 | Paginated searches. |
test_topic_pkey_integer_iterator6 | Master/client iterator mode with realtime record additions. |
test_testing | Testing utilities (event counters, assertions). |
Source: tests/c/timeranger2/
TR_MSG & TR_QUEUE¶
| Binary | Description |
|---|---|
test_tr_msg1 | Message topics: iteration, key matching, instance retrieval. |
test_tr_msg2 | Stress variant: 1 000 devices × 100 traces. |
test_tr_queue1 | Queue topic: enqueue / dequeue with time-based keys over a multi-day period. |
Source: tests/c/tr_msg/, tests/c/tr_queue/
TreeDB¶
| Binary | Description |
|---|---|
test_tr_treedb | Schema creation, user/department/compound structures, node CRUD, and state snapshots (foto files). |
Source: tests/c/tr_treedb/
Keyword matching¶
| Binary | Description |
|---|---|
test_kw1 | kw_match_simple() with strings, booleans, integers, and floats. |
Source: tests/c/kw/
Generic message interchange¶
A JSON-driven test runner that executes scripted test sequences and validates event traces and error logs.
| Test scenario | Description |
|---|---|
test_mqtt_qos0 | MQTT QoS 0 publish/subscribe interchange. |
test_tcp_connect | TCP connection establishment. |
test_tcp_reconnect | TCP reconnection and recovery. |
Source: tests/c/msg_interchange/
Build flag¶
Tests are enabled by default via .config (CONFIG_MODULE_TEST=y).
Toggle with menuconfig or pass -DENABLE_TESTS=OFF to CMake.