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]

Reply via email to