Zepp-Hanzj opened a new pull request, #3639:
URL: https://github.com/apache/nuttx-apps/pull/3639
## Summary
Add focused cmocka coverage for the watchdog timeout notifier chain and an
independent watchdog-only drivertest configuration.
## Changes
- Add `CONFIG_TESTING_DRIVER_TEST_WATCHDOG_ONLY`.
- When enabled, register only `cmocka_driver_watchdog` from the drivertest
Makefile/CMake rules.
- Add notifier tests covering:
- priority ordering;
- duplicate registration suppression;
- repeated timeout delivery;
- unregistering one notifier while preserving the others;
- `WATCHDOG_NOTIFIER_ACTION` propagation;
- `data == NULL` propagation;
- concurrent register/timeout/unregister activity.
- Guard reset-cause assertions so the notifier-only simulator configuration
does not require board reset-cause support.
## Validation
The test was run using the companion NuttX simulator configuration, which
registers only the watchdog cmocka driver. The final result was:
```text
[==========] tests: 2 test(s) run.
[ PASSED ] 2 test(s).
```
The race test repeatedly interleaves timeout delivery with notifier
registration and unregistration and asserts that callbacks remain valid and
receive a `NULL` payload.
Additional hardware-path validation was performed in the companion NuttX PR
on STM32F407 WWDG hardware. The corresponding UART logs and screenshots are
linked there:
- [NuttX core PR #1](https://github.com/Zepp-Hanzj/nuttx/pull/1)
- [Simulator notifier race
log](https://github.com/Zepp-Hanzj/nuttx/blob/fix/watchdog-capture-automonitor-notifier/docs/validation-evidence/watchdog/06-simulator-notifier-race-0714.log)
## Scope
This PR contains only watchdog notifier tests and their test
registration/configuration. Unrelated `O_RDONLY` compatibility changes are
intentionally excluded.
## Merge order
Merge the companion NuttX core PR first, then enable this test configuration
in CI or simulator validation.
## Checklist
- [x] Makefile and CMake registration paths updated consistently.
- [x] Watchdog-only configuration does not register unrelated drivertest
applications.
- [x] `git diff --check` passes.
- [x] Simulator cmocka notifier and race tests pass.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]