ESPSomfy-RTS/test
cjkas 4135f21ee7 refactor: let one RadioScheduler own the radio job queue
The order radio jobs go out in was spread across callers, file statics and
the radio task: each remote tracked its last back job so a stop could decide
whether it may jump the queue, and the task kept a separate count of the back
jobs it had taken.  RadioScheduler now owns the waiting jobs, their tickets,
the stop-goes-first rule, delayed jobs, flush and suspend, and the outcome of
every job.  It is plain C++, with the time passed in and the caller locking,
so all of it is covered by native tests.  Transceiver keeps the FreeRTOS task,
the locks and the CC1101.

sendCommandAfter returns the job's ticket instead of leaving it in lastTxSeq.

Two stops for the same remote now go out in the order they were sent; queued
to the front they used to come out reversed, putting the rolling codes out of
order.

Adds GLOSSARY.md for the radio terms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:36:32 +02:00
..
stubs fix: skip formatting request timings that won't be logged 2026-10-12 18:36:09 +02:00
test_frame test: cover the frame codec and command names 2026-10-11 13:20:39 +02:00
test_json fix: track the JSON length instead of recounting it 2026-10-12 16:04:13 +02:00
test_logging fix: skip formatting request timings that won't be logged 2026-10-12 18:36:09 +02:00
test_motion refactor: pin which radio job holds a shade's simulated movement 2026-10-12 18:33:19 +02:00
test_radioscheduler refactor: let one RadioScheduler own the radio job queue 2026-10-12 20:36:32 +02:00
test_rollingcode test: cover the radio queue rules, shade TX state, rolling codes and web command hold 2026-10-12 20:26:33 +02:00
test_shadetx test: cover the radio queue rules, shade TX state, rolling codes and web command hold 2026-10-12 20:26:33 +02:00
test_txbuffer fix: keep a repeater frame until the radio queue takes it 2026-10-12 18:31:39 +02:00
test_txjob refactor: let one RadioScheduler own the radio job queue 2026-10-12 20:36:32 +02:00
test_utils fix: only let wifiStrength broadcasts move the RSSI baseline 2026-10-12 18:34:45 +02:00
test_webcmd test: cover the radio queue rules, shade TX state, rolling codes and web command hold 2026-10-12 20:26:33 +02:00
README init 2026-03-10 20:23:48 +01:00

This directory is intended for PlatformIO Test Runner and project tests.

Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.

More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html